威凡网全力打造:网页编程、软件开发编程、平面设计、服务器端开发、操作系统等在线学习平台!学编程,上威凡网!
JSP教程>> JSP基础教程 JSP高级教程 JSP常见问题
当前位置:首页 > JSP教程 > JSP常见问题
上一节 下一节
 java易懂易用的MD5加密(可直接运行) (1)第1/2页
1、md5加密,该加密算法是单向加密,即加密的数据不能再通过解密还原。相关类包含在java.security.messagedigest包中。
2、3-des加密,该加密算法是可逆的,解密方可以通过与加密方约定的密钥匙进行解密。相关类包含在javax.crypto.*包中。
3、base64编码,是用于传输8bit字节代码最常用的编码方式。相关类在sun.misc.base64decoder 和sun.misc.base64encoder 中。
4、urlencoder编码,是一种字符编码,保证被传送的参数由遵循规范的文本组成。相关类在java.net.urlencoder包中。
细节:
1、进行md5加密,得到byte[] 
复制代码 代码如下:

/**
* 进行md5加密
* @param string 原始的spkey
* @return byte[] 指定加密方式为md5后的byte[]
*/
private byte[] md5(string strsrc)
{
byte[] returnbyte = null;
try
{
messagedigest md5 = messagedigest.getinstance("md5");
returnbyte = md5.digest(strsrc.getbytes("gbk"));
}
catch(exception e)
{
e.printstacktrace();
}
return returnbyte;
}

2、得到3-des的密钥匙 
复制代码 代码如下:

/**
* 得到3-des的密钥匙
* 根据根据需要,如密钥匙为24个字节,md5加密出来的是16个字节,因此后面补8个字节的0
* @param string 原始的spkey
* @return byte[] 指定加密方式为md5后的byte[]
*/
private byte[] getenkey(string spkey)
{
byte[] deskey=null;
try
{
byte[] deskey1 = md5(spkey);
deskey = new byte[24];
int i = 0;
while (i < deskey1.length && i < 24) {
deskey[i] = deskey1[i];
i++;
}
if (i < 24) {
deskey[i] = 0;
i++;
}
}
catch(exception e){
e.printstacktrace();
}
return deskey;
}

3、3-des加密
复制代码 代码如下:

/**
* 3-des加密
* @param byte[] src 要进行3-des加密的byte[]
* @param byte[] enkey 3-des加密密钥
* @return byte[] 3-des加密后的byte[]
*/
public byte[] encrypt(byte[] src,byte[] enkey)
{
byte[] encrypteddata = null;
try
{
desedekeyspec dks = new desedekeyspec(enkey);
secretkeyfactory keyfactory = secretkeyfactory.getinstance("desede");
secretkey key = keyfactory.generatesecret(dks);
cipher cipher = cipher.getinstance("desede");
cipher.init(cipher.encrypt_mode, key);
encrypteddata = cipher.dofinal(src);
}
catch(exception e)
{
e.printstacktrace();
}
return encrypteddata;
}

4、对字符串进行base64编码
复制代码 代码如下:

/**
* 对字符串进行base64编码
* @param byte[] src 要进行编码的字符
*
* @return string 进行编码后的字符串
*/
public string getbase64encode(byte[] src)
{
string requestvalue="";
try{
base64encoder base64en = new base64encoder();
requestvalue=base64en.encode(src);
//system.out.println(requestvalue);
}
catch(exception e){
e.printstacktrace();
}

return requestvalue;
}

12下一页阅读全文

申明:本教程内容由威凡网编辑整理并提供IT程序员分享学习,如文中有侵权行为,请与站长联系(QQ:254677821)!
上一节 下一节
相关教程  
其他教程  
JSP基础教程
JSP高级教程
JSP常见问题

违法和不良信息举报中心】邮箱:254677821@qq.com
Copyright©威凡网 版权所有 苏ICP备2023020142号
站长QQ:254677821