AES加密补位填充的一个问题
AES加密支持多種填充方式,NoPadding,PKCS5Padding,ISO10126Padding,ZerosPadding,PKCS7Padding。
其中PKCS7Padding 就是數(shù)據(jù)個(gè)數(shù)最后少幾個(gè)就填充多少個(gè)數(shù),具體的做法可以:數(shù)據(jù)的個(gè)數(shù)先取余16,然后16減去余數(shù)。
例如{1,2,3,4,5,6,7,8,9},總共9個(gè)數(shù)值,取余16后是9,需要補(bǔ)充7個(gè)7,則最后數(shù)據(jù)變?yōu)閧1,2,3,4,5,6,7,8,9,7,7,7,7,7,7,7}
需要特別注意一種情況:如果數(shù)據(jù)的個(gè)數(shù)剛好是16的倍數(shù),那就要在補(bǔ)充16個(gè)字節(jié)(一定要)。例如{1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16},填充后的數(shù)據(jù)是{1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16}
ZerosPadding就是缺少多少位就補(bǔ)充多少個(gè)0,基本流程相同。
轉(zhuǎn)載于:https://www.cnblogs.com/xuhui24/p/6249839.html
總結(jié)
以上是生活随笔為你收集整理的AES加密补位填充的一个问题的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 奈雪的茶的股东结构 进行了多轮融资
- 下一篇: pageX、clientX、screen