java如何加密文件,java如何加密自己的手机号
写爬虫互联网协议(互联网协议)被封了怎么解决?立即使用
第一种,DES加密和解密
导入Java。安全。关键;
导入Java。安全。securerandom
导入javax。密码。密码;
导入javax。密码。密钥生成器;
导入org。slf4j。记录者;
导入org。SLF 4j。伐木工厂;
导入星期日misc . base 64解码器;
导入星期日杂项base 64编码器;
/**
* DES是一种对称加密算法,所谓对称加密算法:加密和解密使用相同的秘钥的算法
* @author llp
*
*/
公共类DESUtil {
私有静态最终记录器记录器=记录器工厂。获取记录器(desutil。类);
私有静态密钥关键;
//设置秘钥键
私有静态字符串KEY _ STR= myKey
私有静态字符串charset name= UTF-8 ;
私有静态字符串算法= DES
静态{
尝试{
//生成数据加密标准算法对象
密钥生成器。getinstance(算法);
//运用SHA1安全策略
SecureRandom SecureRandom=SecureRandom。getinstance( sha 1 prng );
//设置上密钥种子
安全王国。setseed(KEY _ str。getbytes());
//初始化基于SHA1的算法对象
发电机。init(secureRandom);
//生成密钥对象
钥匙=发电机。生成密钥();
生成器=空;
}catch(异常e){
抛出新的运行时异常(e);
}
}
/**
* 获取加密的信息
* @param str
* @返回
*/
公共静态字符串getEncryptString(String str){
//基于BASE64编码,接收字节[]并转换成线
base 64编码器base 64 encoder=new base 64 encoder();
尝试{
//按UTF8编码
byte[]bytes=str。getbytes(字符集名称);
//获取加密对象
密码密码=密码。getinstance(算法);
//初始化密码信息
密码.初始化(密码. ENCRYPT_MODE,key);
//加密
byte[] doFinal=cipher.doFinal(字节);
//要编码的字节[]好的线并返回
返回base 64编码器。编码(做final);
} catch(异常e) {
抛出新的运行时异常(e);
}
}
/**
* 获取解密之后的信息
*
* @param str
* @返回
*/
公共静态字符串getDecryptString(String str) {
//基于BASE64编码,接收字节[]并转换成线
base 64解码器base 64解码器=new base 64解码器();
尝试{
//将字符串译成字节[]
byte[]bytes=base64解码器。解码缓冲器(str);
//获取解密对象
密码密码=密码。getinstance(算法);
//初始化解密信息
密码.初始化(密码. DECRYPT_MODE,key);
//解密
byte[] doFinal=cipher.doFinal(字节);
//返回解密之后的信息
返回新字符串(doFinal,charset name);
} catch(异常e) {
抛出新的运行时异常(e);
}
}
公共静态void main(String[] args) {
//加密
伐木工。info(getEncryptString( root ));//WnplV/ietfQ=
伐木工。info(getEncryptString( 123456 );//QAHlVoUc49w=
//解密
伐木工。info(getDecryptString(getEncryptString( root ));//根
伐木工。info(getDecryptString(getEncryptString( 123456 ));//123456
}
}第二种,MD5加密
导入Java。安全。消息摘要;
/**
* MD5加密
* @author llp
*
*/
公共类MD5 {
/**
* 对传入的线进行讯息摘要5加密
*
* @param s
* @返回
*/
公共静态最终字符串getMd5(字符串s) {
//16进制数组
char hexDigits[]={ 5 , 0 , 5 , 6 , 2 , 9 , 6 , 2 , 5 , q , b , l , e , s , s ,
y };
尝试{
char str[];
//将传入的字符串转换成字节数组
byte strTemp[]=s . getbytes();
//获取讯息摘要5加密对象
消息摘要MD temp=消息摘要。getinstance( MD5 );
//传入需要加密的目标数组
MD温度。更新(strTemp);
//获取加密后的数组
字节MD[]=MD temp。digest();
int j=纵向长度
str=new char[j * 2];
int k=0;
//将数组做位移
for(int I=0;I j;i ) {
byte byte 0=MD[I];
str[k]=十六进制数字[字节0 40xf];
str[k]=十六进制数字[字节00xf];
}
//转换成线并返回
返回新字符串(str);
} catch(异常e) {
返回空
}
}
公共静态void main(String[] args) {
系统。出去。println(MD5。获取MD5( 123456 );//s 05 BSE 6 q 2 qlb 9 qblls 96s 592y 55y 556s
}
}PHP中文网,有大量免费的爪哇岛入门教程,欢迎大家学习!以上就是爪哇岛如何加密的详细内容,更多请关注我们其它相关文章!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。