java 对字符串加密解密
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
java 对字符串加密解密
在实际应用中,常常会遇到对数据进行加密、解密的工作,如对密码数据的保护或者对网络传输的数据进行保护。
数据加密、解密需要非常复杂、高效的算法,所以通常对于一般的程序员是无法完成的工作。
加密解密算法分为两种:一是受限制的安全算法,即最初用于军方,对一些机密的数据进行加密,由于这种算法保密,所以使用率低。
二是非受限的安全算法,即基于密钥的算法,并且算法都是公开的,所以使用率高,如图5-1所示。
加密密钥解密密钥
明文加密密文解密明文
图5-1 加密与解密
目前,常用的加密算法包括对称密钥加密算法(如DES、IDEA、3DES等),公开密钥加密算法(如RSA、ECC等)等。
下面我们通过DES对称密钥进行加密,其详细方法如下。
操作步骤:
(1)分别导入security.Key、crypto.Cipher和crypto.KeyGenerator类包,并创建EncryptExample主类和主方法。
其中,security为安全框架提供类和接口,而key是所有密钥的顶层接口。
crypto.Cipher为加密操作提供类和接口,而KeyGenerator提供(对称)密钥生成器的功能。
将将字符串转化为一个字节数组。
然后,通过创建String对象,显示这个字节数组中的内容。
KeyGenerator对象。
而GenerateKey( )方法以重用一个对称算法实例使用不同的密
用明文字符串计算密文,然后输出加密后的内容。
(7)执行代码,将显示出原明文内容,然后通过加密后生成乱码密文。
再通过密文,进行解密,并显示明白内容,如图5-2所示。
图5-2 加密与解密过程。