栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

在Java中使用AES-128进行加密

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

在Java中使用AES-128进行加密

问题不在于我最初想到的IV或填充。这与您如何处理PHP代码中的密钥有关。如果您使用实际的字符串

4288f0b8060ca1b682bf795f2617cfdc
作为传递给您的密钥
mcrypt_encrypt
mcrypt_decrypt
那么您将不会使用与Java代码中相同的密钥。您将需要将该十六进制字符串转换为字节。您可以通过以下方式执行此操作:

$decrypted = mcrypt_decrypt(MCRYPT_RIJNDAEL_128, pack("H*", $key), base64_depre($decrypt), MCRYPT_MODE_ECB, $iv);

注意添加了

pack("H*",$key)
转换值。我在这里的PHP
bin2hex
函数注释中发现了这一点。这将解决当前问题。由于PHP不执行PKCS5填充,因此在处理不同长度的数据时可能会遇到填充问题。见这对实现该功能缺失评论。另外,由于ECB的不适合性和数据加密的弱点,我建议使用CBC而不是ECB。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/402096.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号