用java实现的DES加密算法

用java实现的DES加密算法
des加密简介
DES是一种对称加密算法,称为对称加密算法,即加密和解密的同一密钥算法,DES加密算法来自IBM的研究。后来它被美国政府正式通过。此后,它开始广泛传播,但近年来它的使用越来越少。因为DES使用56位的密钥,就可以破解24小时内与现代计算能力。尽管如此,在一些简单的应用,我们仍然可以使用DES加密算法,并简要说明了DES的java实现。

java实现
加密
详细说明了代码,而不是废话。
注意:在DES加密和解密过程中,密钥长度必须是8的倍数。
复制代码代码如下所示:
公共字节(字节{ } { } descrypto DataSource,字符串密码){
尝试{
提供的随机=新提供的();
deskeyspec德斯基=新deskeyspec(password.getbytes());
/ /创建一个工厂,然后用它来转换deskeyspec
secretkeyfactory keyfactory = secretkeyfactory.getinstance(德);
密钥SecureKey = keyfactory.generatesecret(德斯基);
实际上,加密对象完成了加密操作
密码密码= cipher.getinstance(德);
使用密钥来初始化密码
Cipher.init(cipher.encrypt_mode,动态口令卡,随机);
现在,数据加密
加密操作的形式化实现
返回cipher.dofinal(数据源);
} catch(Throwable e){
E.printStackTrace();
}
返回null;
}

解密
代码有详细的注释,没有太多的废话。
复制代码代码如下所示:
私有字节{ }解密(字节{ SRC,字符串密码)引发异常{
des算法需要一个可信随机数生成器。
提供的随机=新提供的();
/ /创建一个deskeyspec对象
deskeyspec德斯基=新deskeyspec(password.getbytes());
创建一个密钥工厂
secretkeyfactory keyfactory = secretkeyfactory.getinstance(德);
/ /转换为deskeyspec对象的密钥对象
密钥SecureKey = keyfactory.generatesecret(德斯基);
解密操作对象的实际完成
密码密码= cipher.getinstance(德);
使用密钥来初始化密码
Cipher.init(cipher.decrypt_mode,动态口令卡,随机);
真正的开始/解密操作
返回cipher.dofinal(SRC);
}

测试场景
例如,我们可以将字符串作为上述函数进行加密和解密,或者对文件进行加密和解密,例如:
复制代码代码如下所示:
被加密的内容
字符串测试内容;
密码,如果长度为8的倍数
字符串密码12345678;
字节{ }结果= descrypto.descrypto(str.getbytes(),密码);
System.out.println(加密内容:+新的字符串(结果));

上述内容解密
{试
字节{ } decryresult = des.decrypt(结果,密码);
System.out.println(加密内容:+新的字符串(decryresult));
} catch(异常E1){
e1.printstacktrace();
}
免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
相关文章
返回顶部