收录日期:2019/12/11 19:29:08 时间:2016/07/14 18:11:29 标签:Web 开发
请问在java中相对稳定切高效率的加密算法?
MD5用的比较多。。。。
用md5比较简单,其他的加密算法就得自己去研究了
md5还好~不过有一点就是md5是不可逆转加密~这点请lz注意一下~
其他的加密方式也不少~lz上网找一下~很多的~
3DES用的很多
MD5吧,不可逆的。。
md5很简单
我项目中用的就是md5。特别简单。掉一下方法就好了。而且不可逆转的。这样安全性就高了,如果需要具体使用方法,吼一下
引用 7 楼 javaboyrengl 的回复:
我项目中用的就是md5。特别简单。掉一下方法就好了。而且不可逆转的。这样安全性就高了,如果需要具体使用方法,吼一下


麻烦打个包看看也 邮箱:zhaobaoaini@126.com
3DES, MD5, SHA1这些常用算法Java都支持得很好,就看自己怎么用了。
package com.winnet.encrypt;
/**
 * 数据加密类 支持SHA-1,SHA-2(SHA-256,SHA-384,SHA-512),MD2,MD5 是对java自带加密算法的二次封装
 */
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;

public class Encrypt
{

public Encrypt()
{
}

/**
 * MD2加密算法
 * 
 * @param plantText
 *            需要加密的字符串
 * @return String型 加密后的字符串
 */
public String GetMD2EncString(String plantText)
{
return this.GetEncString(plantText, "MD2");
}

/**
 * MD5加密算法
 * 
 * @param plantText
 *            需要加密的字符串
 * @return String型 加密后的字符串
 */
public String GetMD5EncString(String plantText)
{
return this.GetEncString(plantText, "MD5");
}

/**
 * SHA-1加密算法
 * 
 * @param plantText
 *            需要加密的字符串
 * @return String型 加密后的字符串
 */
public String GetSHA1EncString(String plantText)
{
return this.GetEncString(plantText, "SHA-1");
}

/**
 * SHA-256加密算法
 * 
 * @param plantText
 *            需要加密的字符串
 * @return String型 加密后的字符串
 */
public String GetSHA256EncString(String plantText)
{
return this.GetEncString(plantText, "SHA-256");
}

/**
 * SHA-384加密算法
 * 
 * @param plantText
 *            需要加密的字符串
 * @return String型 加密后的字符串
 */
public String GetSHA384EncString(String plantText)
{
return this.GetEncString(plantText, "SHA-384");
}

/**
 * SHA-512加密算法
 * 
 * @param plantText
 *            需要加密的字符串
 * @return String型 加密后的字符串
 */
public String GetSHA512EncString(String plantText)
{
return this.GetEncString(plantText, "SHA-512");
}

/**
 * 数据加密算法
 * 
 * @param plainText
 *            加密字符串
 * @param algorithm
 *            加密算法,支持SHA-1,SHA-2(SHA-256,SHA-384,SHA-512),MD2,MD5
 * @return 加密结果
 */
private String GetEncString(String plainText, String algorithm)
{

try
{
MessageDigest md = MessageDigest.getInstance(algorithm);
md.update(plainText.getBytes());
byte[] b = md.digest();
StringBuilder output = new StringBuilder(32);
for (int i = 0; i < b.length; i++)
{
String temp = Integer.toHexString(b[i] & 0xff);
if (temp.length() < 2)
{
output.append("0");// 不足两位,补0
}
output.append(temp);
}
return output.toString();
}
catch (NoSuchAlgorithmException e)
{
e.printStackTrace();
return null;
}
}
/*
 * 另外一种方法 //private final char[] HEXCHAR_LOWERCASE = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f' }; //private
 * final char[] HEXCHAR_UPPERCASE = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F' }; private String
 * getDigest(String plainText, String algorithm,String stringcase) throws Exception { MessageDigest md5 = MessageDigest.getInstance(algorithm);
 * md5.update(plainText.getBytes()); return toHexString(md5.digest(),stringcase); }
 * 
 * private String toHexString(byte[] b,String stringcase) { StringBuilder sb = new StringBuilder(b.length * 2);
 * if(stringcase.toLowerCase().equals("lower")) { for (int i = 0; i < b.length; i++) { sb.append(HEXCHAR_LOWERCASE[(b[i] & 0xf0) >>> 4]);
 * sb.append(HEXCHAR_LOWERCASE[b[i] & 0x0f]); } } else if(stringcase.toLowerCase().equals("upper")) { for (int i = 0; i < b.length; i++) {
 * sb.append(HEXCHAR_UPPERCASE[(b[i] & 0xf0) >>> 4]); sb.append(HEXCHAR_UPPERCASE[b[i] & 0x0f]); } } return sb.toString(); }
 */
}

DES对称加密

我发觉form打开时, form上的控件有滞后显示的感觉,能解决吗? 要调用一个dll,有它在c中声明的头文件。太多了,是否有什么自动转换或声明的工具 如何在类中对0-9的数字进行判别,如定义一个char ch字符,如果ch不在0-9的范围内则出现错误提示 权衡服务器控件性能 建立一個服務時指定某一特定的非主ip vb菜鸟求各位VB大虾指点! 求救:通过IIOP访问DOMINO的问题 菜鸟问题,COM和COM+有什么区别,都用在什么地方? 数据库更新 VC中打印图标与中文字体的问题 汗都急出来了!RS.recordcount 的简单问题! 有关ado编程的问题 急在线等啊 怎样在程序运行的时候,获取当前运行的java代码的行数?就像Log4J那样,可以在后台看到当前代码所在的java文件,代码行等 。。。 真受不了啊.谁能帮忙啊.关于那个JBUILDER100例 求一简单的delphi函数 求救!!江湖救急!!在一个工程里序列化的文件,在另外一个工程里反序列化出错!!!!! 请问:是什么因素导致了各个组件若叠加在一起,会产生先后可见顺序? 天津ASP工作机会 请问如何使自己的程序永远在桌面上最前面 关于java.awt.*包的用法请教(在线等待..............) 关于回复文档的存取权限问题 在线求救,急~~~ 请问那里可以查IE5,IE5.5,IE6 所支持的DHTML 的DOM 有何异同? 急用!!!谁有象yahoo电邮里的可以编辑文本和html的jsp组件???100分相送!!!谢谢!!! 朋友们,你们有没有见到过可以在查询分析器里面格式化SQL代码的程序?就象DELPHI formatter 一样的东西?? 在线等待:急!关于Treeview控件显示 游戏中常用的“战况”,或“英雄榜”(比如说扫雷)英文怎么说啊? 菜鸟问题:JSP中怎样调用样式单。 有关更新记录集的问题 请教各位高手,如何在DOS下测试串口通信?有什么工具可以测试,急盼