我在Objective C中使用加密类作为我的iPhone应用程序,但我很难从我的Android应用程序中获得在JAVA中工作的相同功能.我的加密代码如下:
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:&padding];
Run Code Online (Sandbox Code Playgroud)
我试图在JAVA中复制它,但是当我编码相同的数据时,我得到一个不同的字符串.所以我做错了什么,但我无法弄清楚.这是我的JAVA代码:
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 { …Run Code Online (Sandbox Code Playgroud)