CryptoJS实现AES加密,解密在线调试软件|高级加密标准(AES)在线计算器
 
 
 
密钥(Secret Passphrase)
偏移量(IV)
加密模式(Mode)
填充(Padding)
密钥长度
密文形式
 

CTRL+A :选中全部,CTRL+C:复制,CTRL+V:粘贴。 使用必读本站支持微信扫码登录了除了计算器还有这些功能可用

分类: 代码工具 标签:高级加密标准AES加密解密 工具ID:543 阅读:8363 收藏

输入要加密/解密的文本内容与加密密钥(Key,Secret Passphrase) ,偏移量(IV,ECB模式不用偏移量)、加密模式(Mode)、填充(Padding)、密钥长度、密文形式等已知参数,点击计算按钮,可求出AES加密结果或解密结果。

高级加密标准(Advanced Encryption Standard,缩写:AES),在密码学中又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准。这个标准用来替代原先的DES,已经被多方分析且广为全世界所使用。经过五年的甄选流程,高级加密标准由美国国家标准与技术研究院(NIST)于2001年11月26日发布于FIPS PUB 197,并在2002年5月26日成为有效的标准。2006年,高级加密标准已然成为对称密钥加密中最流行的算法之一。

本软件由CryptoJS 开发,支持加密密钥(Secret Passphrase))和偏移量(IV)自动生成,生成加密密钥的长度偏移量长度是由表单中选择密钥的长度来决定的。随机生成的密钥和偏移量复制到其他地方直接使用。数据传输过程中,前台与后台的加密解密的密钥(Key,Secret Passphrase))和偏移量(IV)必须是一致的。

密钥和偏移量:一般情况下密钥为加密方与解密方双方约定好的,但如果长期使用同一密钥,对相同内容加密后的结果一致,容易被找出规律。所以,可以在双方交互时添加一个参数“偏移量”,偏移量明文传递,并且每次请求都不同,但在一次交互过程中,双方使用同一偏移量,这样就可以使加密相同内容时结果每次都不同,间接提高安全性。

加密模式:电码本模式(Electronic Codebook Book (ECB));密码分组链接模式(Cipher Block Chaining (CBC));计算器模式(Counter (CTR));密码反馈模式(Cipher FeedBack (CFB));输出反馈模式(Output FeedBack (OFB))。ECB模式下偏移量不生效。具体各种模式的原理这里参考(详细介绍1)。经测试,用CryptoJS 开发除了ECB模式以外,带参数偏量IV的OFB和CFB模式与其他平台加密结果不相同,但用本平台解密是正常。推荐使用CBC模式,安全、简单、网上参考资料多。

填充模式:.NET和Java中并不完全通用,经过与安卓开发的同事踩坑与测试后,发现None和ISO10126两种填充模式,在两个平台是通用的。理论上PKCS7/PKCS5应该也是通用的(详细介绍2/详细介绍3)。

AES加密数据块分组长度必须为128比特,密钥长度可以是128比特(16字符)、192比特(24字符)、256比特(32字符)中的任意一个(如果数据块及密钥长度不足时,会补齐)。AES加密有很多轮的重复和变换。大致步骤如下:1、密钥扩展(KeyExpansion),2、初始轮(Initial Round),3、重复轮(Rounds),每一轮又包括:SubBytes、ShiftRows、MixColumns、AddRoundKey,4、最终轮(Final Round),最终轮没有MixColumns。

注意:当密钥长度不是128比特(16字符)、192比特(24字符)、256比特(32字符)中的任意一个时,由于补齐方式存在差异,各平台计算加密数据,可能不通用。故而,最好使用标准的密码长度如128比特(16字符)、192比特(24字符)、256比特(32字符)等。密码长度越大,安全性能会更好,但计算量会增大,例如:密码长度为256比特(32字符)的计算过程要比128比特(16字符)复杂40%左右。

相关计算器:

1)PHP加密库mcrypt实现AES加密,解密调试软件(附源码)在线计算器

2)CryptoJS实现AES加密,解密在线调试软件|高级加密标准(AES)在线计算器


对此计算器不满意或未找到合适的计算器?本网站免费订制专用计算器…… 报错/建议 讨论专区

相关推荐