title: Java string encrypt
body: <p>I am using the encryption class in Objective C for my iPhone app but I am struggling to get the same functionality working in JAVA from my android app.  My encryption code is below:</p>
  
  <pre><code>NSString * _secret = @"password";
  NSString * _key = @"1428324560542678";
  
  StringEncryption *crypto = [[StringEncryption alloc] init];
  NSData *_secretData = [_secret dataUsingEncoding:NSUTF8StringEncoding];
  CCOptions padding = kCCOptionPKCS7Padding;
  NSData *encryptedData = [crypto encrypt:_secretData key:[_key dataUsingEncoding:NSUTF8StringEncoding] padding:&amp;padding];
  </code></pre>
  
  <p>I have tried to replicate it in JAVA but I get a different string when I encode the same data. So I am doing something wrong but I can't figure it out.  Here is my JAVA code:</p>
  
  <pre><code>byte[] key = "1428324560542678".getBytes();
  
  Cipher c = null;
              try {
                  c = Cipher.getInstance("AES/ECB/PKCS7Padding");
              } catch (NoSuchAlgorithmException e) {
                  // TODO Auto-generated catch block
                  e.printStackTrace();
              } catch (NoSuchPaddingException e) {
                  // TODO Auto-generated catch block
                  e.printStackTrace();
              }
  
  SecretKeySpec k =  new SecretKeySpec(key, "AES");
              try {
                  c.init(Cipher.ENCRYPT_MODE, k);
              } catch (InvalidKeyException e) {
                  // TODO Auto-generated catch block
                  e.printStackTrace();
              }
  
      try {
          EditText tv1passwordText = (EditText) findViewById(R.id.password);
          String password = URLEncoder.encode(tv1passwordText.getText().toString(), "UTF-8");
  
              byte[] encryptedData = c.doFinal( password.getBytes());
  </code></pre>
  
  <p>Can anyone see where I am going wrong?</p>
  
  <p>Based on the comments below I added getBytes but the strings produced are still different:</p>
  
  <pre><code>byte[] key = null;
              try {
                  key = "1428324560542678".getBytes("UTF-8");
              } catch (UnsupportedEncodingException e2) {
                  // TODO Auto-generated catch block
                  e2.printStackTrace();
              }
  
              Cipher c = null;
              try {
                  c = Cipher.getInstance("AES/ECB/PKCS7Padding");
              } catch (NoSuchAlgorithmException e) {
                  // TODO Auto-generated catch block
                  e.printStackTrace();
              } catch (NoSuchPaddingException e) {
                  // TODO Auto-generated catch block
                  e.printStackTrace();
              }
  
              SecretKeySpec k =  new SecretKeySpec(key, "AES");
              try {
                  c.init(Cipher.ENCRYPT_MODE, k);
              } catch (InvalidKeyException e) {
                  // TODO Auto-generated catch block
                  e.printStackTrace();
              }
  
              try {
                  EditText tv1passwordText = (EditText) findViewById(R.id.password);
  
                  byte[] password = tv1passwordText.getText().toString().getBytes("UTF-8");
  
                  byte[] encryptedData = c.doFinal(password);
  </code></pre>