PHP如何实现JAVA中的AES解密以及MD5加密

machunjie2003 2018-01-31 05:21:21

//java 加密
public static String encryptAES(String content, String key) {
try {
KeyGenerator keyGenerator = KeyGenerator.getInstance("AES");
//需手动指定 SecureRandom 随机数生成规则,否则在Linux上可能生成随机key
SecureRandom secureRandom = SecureRandom.getInstance("SHA1PRNG");
secureRandom.setSeed(key.getBytes());
keyGenerator.init(128, secureRandom);
SecretKey secretKey = keyGenerator.generateKey();
Cipher cipher = Cipher.getInstance("AES");
cipher.init(Cipher.ENCRYPT_MODE, secretKey);
byte[] encrypted = cipher.doFinal(content.getBytes("utf-8"));
return Base64.encodeBase64String(encrypted);
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
//java 解密
public static String decryptAES(String content, String key) {
try {
KeyGenerator keyGenerator = KeyGenerator.getInstance("AES");
SecureRandom secureRandom = SecureRandom.getInstance("SHA1PRNG");
secureRandom.setSeed(key.getBytes());
keyGenerator.init(128, secureRandom);
SecretKey secretKey = keyGenerator.generateKey();
Cipher cipher = Cipher.getInstance("AES");
cipher.init(Cipher.DECRYPT_MODE, secretKey);
byte[] encrypted = cipher.doFinal(Base64.decodeBase64(content));
return new String(encrypted, "utf-8");
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
//MD5 加密
public static String md5(String content) {
try {
return Base64.encodeBase64String(MessageDigest.getInstance("MD5").digest(content.getBytes("utf-8")));
} catch (Exception e) {
e.printStackTrace();
}
return null;
}

以上是java代码的加密解密,现在我想将它翻译成PHP加密解密,加密目前已经能够匹配上,解密一直不对,还有MD5的加密也匹配不上。哪位大神帮忙解决一下?!
...全文
369 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
machunjie2003 2018-01-31
  • 打赏
  • 举报
回复
实在抱歉,不是不给分,是没分了……

590

社区成员

发帖
与我相关
我的任务
社区描述
提出问题
其他 技术论坛(原bbs)
社区管理员
  • community_281
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧