java实现AES加密及解密

java实现AES加密及解密

ID:37852221

大小:44.00 KB

页数:17页

时间:2019-06-01

java实现AES加密及解密_第1页
java实现AES加密及解密_第2页
java实现AES加密及解密_第3页
java实现AES加密及解密_第4页
java实现AES加密及解密_第5页
资源描述:

《java实现AES加密及解密》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、Java实现AES加密与解密经过三周的不懈努力,终于完成了AES对任意格式的文件加密与解密。现在将自己的学习经历记下来,纪念自己三周的付出。同时也感谢网上的各位大神的博客,让我学到了很多。下面就将AES的各个构件的核心代码粘贴如下,每行代码都有详细的注释!packagemyAes;/* *本类完成AES的加密与解密的流程//内容参考:http://blog.csdn.net/xiaaiwu/article/details/42747229 **/publicclassmyAes{privatebyteSt

2、ate[][];//明文的状态表privatebyteSbox[][];//S盒子privatebyteiSbox[][];//逆S盒子privatebytekey[];//密钥privateintNk;//密钥长度privateintNr;//对不同的长度的密钥不同的轮数privatebytew[][];//密钥调度表privatebyteRcon[][];//轮常数表privateintNb;//明文列数//构造函数publicmyAes(byte[]keyBytes,intkeySize){this

3、.Nb=4;//只处理明文是128位为一组if(keySize==128){this.Nk=4;this.Nr=10;}elseif(keySize==192){//System.out.println("密钥长度位192位");this.Nk=6;this.Nr=12;}elseif(keySize==256){this.Nk=8;this.Nr=14;}this.key=newbyte[this.Nk*4];this.key=keyBytes;createSbox();//创建S盒子的方法create

4、ISbox();//创建S逆盒子的方法createRcon();//创建轮常数数组的方法keyExtend();//密钥扩展的方法}//初始化S盒子privatevoidcreateSbox(){this.Sbox=newbyte[][]{{0x63,0x7c,0x77,0x7b,(byte)0xf2,0x6b,0x6f,(byte)0xc5,0x30,0x01,0x67,0x2b,(byte)0xfe,(byte)0xd7,(byte)0xab,0x76},{(byte)0xca,(byte)0x82,

5、(byte)0xc9,0x7d,(byte)0xfa,0x59,0x47,(byte)0xf0,(byte)0xad,(byte)0xd4,(byte)0xa2,(byte)0xaf,(byte)0x9c,(byte)0xa4,0x72,(byte)0xc0},{(byte)0xb7,(byte)0xfd,(byte)0x93,0x26,0x36,0x3f,(byte)0xf7,(byte)0xcc,0x34,(byte)0xa5,(byte)0xe5,(byte)0xf1,0x71,(byte)0xd8

6、,0x31,0x15},{0x04,(byte)0xc7,0x23,(byte)0xc3,0x18,(byte)0x96,0x05,(byte)0x9a,0x07,0x12,(byte)0x80,(byte)0xe2,(byte)0xeb,0x27,(byte)0xb2,0x75},{0x09,(byte)0x83,0x2c,0x1a,0x1b,0x6e,0x5a,(byte)0xa0,0x52,0x3b,(byte)0xd6,(byte)0xb3,0x29,(byte)0xe3,0x2f,(byte)0

7、x84},{0x53,(byte)0xd1,0x00,(byte)0xed,0x20,(byte)0xfc,(byte)0xb1,0x5b,0x6a,(byte)0xcb,(byte)0xbe,0x39,0x4a,0x4c,0x58,(byte)0xcf},{(byte)0xd0,(byte)0xef,(byte)0xaa,(byte)0xfb,0x43,0x4d,0x33,(byte)0x85,0x45,(byte)0xf9,0x02,0x7f,0x50,0x3c,(byte)0x9f,(byte)0x

8、a8},{0x51,(byte)0xa3,0x40,(byte)0x8f,(byte)0x92,(byte)0x9d,0x38,(byte)0xf5,(byte)0xbc,(byte)0xb6,(byte)0xda,0x21,0x10,(byte)0xff,(byte)0xf3,(byte)0xd2},{(byte)0xcd,0x0c,0x13,(byte)0xec,0x5f,(byte)0x97,0x44,0x17,(byt

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

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

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