踩坑记录 - AES

AES的秘钥必须注意

AES密钥一般编码存储状态有多种

(1)utf-8


一般使用常用英文字符表示,一个英文字符按照utf-8字符集可以转化为一个8位2进制(byte),16个英文字符恰好16*8=128位对应128密钥

(2)HEX(十六进制字符集)


使用字符集"0123456789abcdef"表示: 
字符"1" 表示二进制 0001
字符"a" 表示二进制 1010

所以32个HEX字符恰好32*4=128位对应128密钥

(3)base64

128位的二进制密钥直接编码成Base64字符串

注:

【1】128位AES,对应秘钥128位二进制的密钥(本质对应加密时候数据块为128位)

【2】utf-8的String类型并不能表示任意128位密钥,因为utf-8的字符集没有覆盖到128位任意二进制数,但是HEX字符集和base64字符集能表示任意的128位密钥

【3】网站上免费的AES加解密密钥的字符集一般是utf-8的,使用时注意和HEX、BASE64转换

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值