对称加密算法可以加密和解密数据 。加密时用密钥加密数据,解密时用相同的密钥解密数据 。
对称加密算法DESDES(数据加密标准)是1977年在联邦信息处理标准(FIPS)中采用的对称密码(FIPS 46-3) 。DES一直被美国和其他国家的政府和银行使用 。为什么不呢:1997年DES Challenge I比赛破解DES密钥用了96天,1998年DES Challenge II-1比赛用了41天 。1998年DES Challenge II-2用了56小时,1999年DES Challenge III只用了22小时15分钟 。目前,DES已经不再安全 。除了解密旧的DES密文,DES不再用于加密 。
对称加密算法3DES/DESede三重DES (triple-DES)是为了增加DES的强度,将DES重复三次得到的算法 。也称为TDEA(三重数据加密算法),通常缩写为3DES 。不推荐的原因:目前不使用3DES是因为处理速度慢,除了兼容之前的DES 。
对称加密算法AES和RijndaelAES(高级加密标准)是一种对称加密算法,它取代了以前的标准DES,成为新的标准 。AES加密算法在世界各地征集,最终在2000年从候选中选出Rijndael算法,确定为新的AES 。1997年,AES被提出 。1998年,符合条件并最终进入评审的算法有15个:CAST-256、Crypton、DEAL、DFC、E2、Frog、HPC、LOK197、Magenta、MARS、RC6、Rijndael、SAFER、Serpent、Twofish 。2000年10月2日,Rijndael定位了AES标准 。AES可以免费使用 。Rijndael的分组长度和密钥长度可以分别以32比特为单位从128比特到256比特的范围内选择 。然而,在AES的规范中,包长度固定为128位,密钥长度仅为128、192和256位 。优势:
SPN 网络和 Feistel 网络相比,加密效率更高,因为 SPN 一轮会加密所有位 。所以加密所需轮数会更少 。还有一个优势在于加密用的 4 步可以并行运算 。目前还没有针对 AES 有效的攻击破译方式 。普遍认为,AES-128-GCM 性能比 AEC-128-CBC 性能高 。
三者比较名字
密钥长度
运行速度
安全
资源消耗
数据加密标准
56位
更快的
低的
中间
3DES
12位或168位
慢的
中间
高的
俄歇电子能谱
28,192,256位
快的
高的
低的
Java代码示例这个例子借用了Hutool工具类,这是一个小而好的java工具类 。
String = "测试中文";//随机生成密钥byte[]key = secureutil . generate key(symmetric algorithm . AES . getvalue()) 。get encoded();//Build symmetric cryptoAES = new symmetric crypto(symmetric algorithm . AES,key);//加密byte[]Encrypt = AES . Encrypt(content);//解密byte[]decrypt = AES . decrypt(encrypt);//用十六进制加密的意思是字符串encrypt hex = AES . encrypt hex(content);//Decryptstr = AES 。Decryptstr (Encrypthex,charsetutil 。charset _ UTF _ 8);例子中随机生成的密钥也可以自己定义,但必须是24字节 。例如:
String = "自定义加密密钥";private static final AES AES = secureutil . AES(" secretkeylengthuse 24 byte ") 。getBytes());//加密byte[]Encrypt = AES . Encrypt(content);//解密byte[]decrypt = AES . decrypt(encrypt);//用十六进制加密的意思是字符串encrypt hex = AES . encrypt hex(content);//Decryptstr = AES 。Decryptstr (Encrypthex,charsetutil 。charset _ UTF _ 8);补充一些材料:chacha20-poly1305是移动端比较热的 。
【对称加密的具体方法有 对称加密算法有哪些】ChaCha20-Poly1305是Google采用的新加密算法,性能强大,特别是在指令集CPU减少的ARM平台上(ARM v8之前效果明显),性能是同配置手机中AES的4倍(ARM v8之后增加了AES指令,所以这些平台上的设备,相反AES比chacha20-Poly1305更快,性能更好),可以减少加密解密产生的数据量,从而改善用户体验,减少等待时间,节省电池有时候网上的科学加密配置可能会涉及到这种方式 。
推荐阅读
- 潜阳封髓丹在难治性肾病综合征治疗中的运用 潜阳封髓丹
- 房贷等额本金还是等额本息好 本金本息哪个好
- 孕妇喝的鸡汤怎么做 孕妇鸡汤怎么做
- 小编教你Proe图纸没有视图方向的处理方法
- 小编分享Proe草图标注对称点的尺寸的操作内容
- 教你Proe可变截面扫描特征使用方法
- 冰袖太松了怎么办
- 冰袖什么颜色最防晒
- 我来教你Proe零件模型抽壳图形的操作方法