我目前正在使用128位AES,填充PKCS7和CBC來加密字符串的Android項目。我不想爲此使用任何鹽。僅使用公鑰加密字符串
我已經嘗試過不同的變化包括PBEKey,但我不能拿出工作代碼。這是我目前有:
String plainText = "24124124123";
String pwd = "BobsPublicPassword";
byte[] key = pwd.getBytes();
key = cutArray(key, 16);
byte[] input = plainText.getBytes();
byte[] output = null;
SecretKeySpec keySpec = null;
keySpec = new SecretKeySpec(key, "AES");
Cipher cipher = Cipher.getInstance("AES/CBC/PKCS7Padding");
cipher.init(Cipher.ENCRYPT_MODE, keySpec);
output = cipher.doFinal(input);
private static byte[] cutArray(byte[] arr, int length){
byte[] resultArr = new byte[length];
for(int i = 0; i < length; i++){
resultArr[i] = arr[i];
}
return resultArr;
}
任何幫助表示讚賞
那麼,什麼是不是跟這個代碼的工作? –
對不起,它給了我下面的加密字符串:[B @ 44f075b0 – karl
這是字節數組的'toString()'。如果你想查看內容,使用'Arrays.toString()'。 – musiKk