aes加密cbc模式兼容互通四种编程语言平台

aes加密cbc模式兼容互通四种编程语言平台

ID:8810957

大小:107.50 KB

页数:8页

时间:2018-04-08

aes加密cbc模式兼容互通四种编程语言平台_第1页
aes加密cbc模式兼容互通四种编程语言平台_第2页
aes加密cbc模式兼容互通四种编程语言平台_第3页
aes加密cbc模式兼容互通四种编程语言平台_第4页
aes加密cbc模式兼容互通四种编程语言平台_第5页
资源描述:

《aes加密cbc模式兼容互通四种编程语言平台》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、AES加密CBC模式兼容互通四种编程语言平台【PHP、Javascript、Java、C#】2012-11-0218:47:58我来说两句作者:尐桀收藏我要投稿由于本人小菜,开始对AES加密并不了解,在网络上花了比较多时间查阅资料整理;先简单从百度找来介绍:1密码学中的高级加密标准(AdvancedEncryptionStandard,AES),又称高级加密标准Rijndael加密法,2是美国联邦政府采用的一种区块加密标准。这个标准用来替代原先的DES,已经被多方分析且广为全世界3所使用。经过五年的甄选流程,高级加密标准由

2、美国国家标准与技术研究院(NIST)于2001年11月26日4发布于FIPSPUB197,并在2002年5月26日成为有效的标准。2006年,高级加密标准已然成为对称密钥加密5中最流行的算法之一。该算法为比利时密码学家JoanDaemen和VincentRijmen所设计,结合两位作者的名6字,以Rijndael之命名之,投稿高级加密标准的甄选流程。(Rijdael的发音近于"Rhinedoll"。)AES加密模式和填充方式(其实还有还几种填充方式没写上,开始时候也在这里绕了一下)01算法/模式/填充16字节加密后数据长度

3、不满16字节加密后长度02AES/CBC/NoPadding16不支持03AES/CBC/PKCS5Padding321604AES/CBC/ISO10126Padding321605AES/CFB/NoPadding16原始数据长度06AES/CFB/PKCS5Padding321607AES/CFB/ISO10126Padding321608AES/ECB/NoPadding16不支持09AES/ECB/PKCS5Padding321610AES/ECB/ISO10126Padding321611AES/OFB/NoP

4、adding16原始数据长度12AES/OFB/PKCS5Padding321613AES/OFB/ISO10126Padding321614AES/PCBC/NoPadding16不支持15AES/PCBC/PKCS5Padding321616AES/PCBC/ISO10126Padding3216更多关于加密模式内容:http://blog.sina.com.cn/s/blog_679daa6b0100zmpp.html看到这么多模式,已经有点头晕了,那我的目标是希望找到PHP、Javascript、Java、C#的A

5、ES加密模式一个交集;又经过一轮查找,资讯了百度谷歌这两位老师之后,找到了一篇关于PHP和Java的AES互通兼容加密文章,看完之后发现了原来PHP的AES加密填充只有ZeroPadding(补零-因为数据长度不是16的整数倍就需要填充),而Java是没有这种填充模式,杯具的只能自己写一个了,那Java的填充模式就用NoPadding(不填充内容);Java端代码:01/*02*Tochangethistemplate,chooseTools

6、Templates03*andopenthetemplateintheedito

7、r.04*/0506/**07*08*@authorJacker09*/1011importjavax.crypto.Cipher;12importjavax.crypto.spec.IvParameterSpec;13importjavax.crypto.spec.SecretKeySpec;14importsun.misc.BASE64Decoder;1516publicclassEncryption17{18publicstaticvoidmain(Stringargs[])throwsException{19Sys

8、tem.out.println(encrypt());20System.out.println(desEncrypt());21}2223publicstaticStringencrypt()throwsException{24try{25Stringdata="TestString";26Stringkey="1234567812345678";27Stringiv="1234567812345678";2829Ciphercipher=Cipher.getInstance("AES/CBC/NoPadding");30

9、intblockSize=cipher.getBlockSize();3132byte[]dataBytes=data.getBytes();33intplaintextLength=dataBytes.length;34if(plaintextLength%blockSize!=0){35plaint

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。