收录日期:2020/07/12 21:06:12 时间: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对称加密

请问老师们,如何这样的要求如何查询,在线等答案啊. 如何知道软件对硬件的要求? 高手请进。线程问题! vc 在vista下读写注册表(RegOpenKeyEx)有问题???? 求最新版本灰鸽子的样本下载地址! 这个存储过程该样写? 如何在后台CS文件找到Repeater控件的HeaderTemplate 中的DropDownList bind总失败,error code: 0 高分就教 xml问题! 谁有 免费asp打印控件 有关于oracle9i与tomcat端口冲突问题 CFile 读写文件 我想用VC把lsp文件制作成DLL文件,请问怎么做? 怎样开发个Source filter 关于hibernate的问题(感觉是打不开session产生的) 第一次使用osql.exe打包安装程序自动安装数据库时不知道基本语法,请帮我一下,谢谢了! 环境问题,请高手进 有没有人能提供pocket pc 2003和smartphone 2003的中文模拟器下载? hibernate中外键问题 怎么列表重复了 ??? 连续显示指定路径下的多个BMP图片 报表问题 大家来讨论一下这个代码的运行结果啦!!! 高手们,语法错误了~~~ VC6写的Web service客户端如何连接PHP服务器端 释放内存?? 急问,这种统计语句怎么写??? 关于断言的使用 如果设计网吧管理系统 StringBuffer 求教