Java常用加密算法工具类
2013-09-03 13:48
369 查看
import java.io.IOException; import java.math.BigInteger; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; import sun.misc.BASE64Decoder; import sun.misc.BASE64Encoder; /** * 常用加密算法工具类 * @author cq */ public class EncryptUtils { /** * 用MD5算法进行加密 * @param str 需要加密的字符串 * @return MD5加密后的结果 */ public static String encodeMD5String(String str) { return encode(str, "MD5"); } /** * 用SHA算法进行加密 * @param str 需要加密的字符串 * @return SHA加密后的结果 */ public static String encodeSHAString(String str) { return encode(str, "SHA"); } /** * 用base64算法进行加密 * @param str 需要加密的字符串 * @return base64加密后的结果 */ public static String encodeBase64String(String str) { BASE64Encoder encoder = new BASE64Encoder(); return encoder.encode(str.getBytes()); } /** * 用base64算法进行解密 * @param str 需要解密的字符串 * @return base64解密后的结果 * @throws IOException */ public static String decodeBase64String(String str) throws IOException { BASE64Decoder encoder = new BASE64Decoder(); return new String(encoder.decodeBuffer(str)); } private static String encode(String str, String method) { MessageDigest md = null; String dstr = null; try { md = MessageDigest.getInstance(method); md.update(str.getBytes()); dstr = new BigInteger(1, md.digest()).toString(16); } catch (NoSuchAlgorithmException e) { e.printStackTrace(); } return dstr; } public static void main(String[] args) throws IOException { String user = "oneadmin"; System.out.println("原始字符串 " + user); System.out.println("MD5加密 " + encodeMD5String(user)); System.out.println("SHA加密 " + encodeSHAString(user)); String base64Str = encodeBase64String(user); System.out.println("Base64加密 " + base64Str); System.out.println("Base64解密 " + decodeBase64String(base64Str)); } }原帖:/article/10989717.html
相关文章推荐
- Java工作利器之常用工具类(二)——数字工具类-大数乘法、加法、减法运算
- [JAVA][StringUtils]字符串工具类的常用方法
- java常用工具类,直接用省的自己写了,很完整。
- Java 中MD5 和SHA加密算法工具类
- java工具类去掉字符串String中的.点。android开发java程序员常用工具类
- JAVA Date 工具类 常用
- java开发常用工具类集合总结
- [JAVA][String]StringUtils工具类的常用方法(isNotEmpty isNotBlank等)
- java.util.concurrent(在并发编程中很常用的实用工具类)
- java使用Calendar类获取常用简单工具类
- java常用工具类之数据库连接类(可以连接多种数据库)
- Java 常用加密算法(一)---单向加密算法(MD5/SHA)
- Java工作利器之常用工具类(三)——字符串工具类-智能截取
- Java常用工具类集合(二)
- java常用工具类集合
- Java 常用工具类(16) : jsp和thymeleaf及其他模板页面静态化工具类
- 常用工具类--仅针对于JAVA
- java常用工具类之DES和Base64加密解密类
- Java常用工具类封装——DES加密和解密的工具类
- java使用Calendar类获取常用简单工具类