why decrypted data is different from original data which was encrypted using java?

I am using AES encryption and decryption using java. And I use Appache commons library for conversion from string to byte and vice versa. But when I decrypt data then it is different from the input data that was encrypted using same key? why is so Here is my code: public static void main(String[] args) throws Exception { String key="this is key"; String message="This is just an example"; KeyGenerator kgen = KeyGenerator.getInstance("AES"); kgen.init(128, new SecureRandom(Base64.decodeBase64(key))); // Generate the secret key specs. SecretKey skey = kgen.generateKey(); byte[] raw = skey.getEncoded(); SecretKeySpec skeySpec = new SecretKeySpec(raw, "AES"); Cipher cipher = Cipher.getInstance("AES"); cipher.init(Cipher.ENCRYPT_MODE, skeySpec); byte[] encrypted= cipher.doFinal(Base64.decodeBase64(message)); String encryptedString=Base64.encodeBase64String(encrypted); cipher.init(Cipher.DECRYPT_MODE, skeySpec); byte[] original = cipher.doFinal(Base64.decodeBase64(encryptedString)); System.out.println(Base64.encodeBase64String(original)); } I get the output "Thisisjustanexamplc=" where it should have been "This is just an example". what I need to change in my code. Thanks in advance

以上就是why decrypted data is different from original data which was encrypted using java?的详细内容,更多请关注web前端其它相关文章!

赞(0) 打赏
未经允许不得转载:web前端首页 » JavaScript 答疑

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

前端开发相关广告投放 更专业 更精准