zoukankan      html  css  js  c++  java
  • 创建用户时对密码加密算法

    import java.security.MessageDigest;
    import java.security.NoSuchAlgorithmException;
    /**
     * Java常用的对密码加密的方法
     * 对摘要信息进行加密编码
     * @author zhangmf
     * @version v1.0
     */
    public class CodeUtil {
    	private final static String[] hexDigits = { "0", "1", "2", "3", "4", "5",
    		"6", "7", "8", "9", "a", "b", "c", "d", "e", "f" };
    	/**
    	 * 将字节数组转换为16进制的字符串
    	 * @param byteArray 字节数组
    	 * @return 16进制的字符串
    	 */
    	private static String byteArrayToHexString(byte[] byteArray){
    		StringBuffer sb = new StringBuffer();
    		for(byte byt:byteArray){
    			sb.append(byteToHexString(byt));
    		}
    		return sb.toString();
    	}
    	/**
    	 * 将字节转换为16进制字符串
    	 * @param byt 字节
    	 * @return 16进制字符串
    	 */
    	private static String byteToHexString(byte byt) {
    		int n = byt;
    		if (n < 0)
    			n = 256 + n;
    		return hexDigits[n/16] + hexDigits[n%16];
    	}
    	/**
    	 * 将摘要信息转换为相应的编码
    	 * @param code 编码类型
    	 * @param message 摘要信息
    	 * @return 相应的编码字符串
    	 */
    	private static String Encode(String code,String message){
    		MessageDigest md;
    		String encode = null;
    		try {
    			md = MessageDigest.getInstance(code);
    			encode = byteArrayToHexString(md.digest(message
    					.getBytes()));
    		} catch (NoSuchAlgorithmException e) {
    			e.printStackTrace();
    		}
    		return encode;
    	}
    	/**
    	 * 将摘要信息转换成MD5编码
    	 * @param message 摘要信息
    	 * @return MD5编码之后的字符串
    	 */
    	public String md5Encode(String message){
    		return Encode("MD5",message);
    	}
    	/**
    	 * 将摘要信息转换成SHA编码
    	 * @param message 摘要信息
    	 * @return SHA编码之后的字符串
    	 */
    	public String shaEncode(String message){
    		return Encode("SHA",message);
    	}
    	/**
    	 * 将摘要信息转换成SHA-256编码
    	 * @param message 摘要信息
    	 * @return SHA-256编码之后的字符串
    	 */
    	private static String sha256Encode(String message){
    		return Encode("SHA-256",message);
    	}
    	/**
    	 * 将摘要信息转换成SHA-512编码
    	 * @param message 摘要信息
    	 * @return SHA-512编码之后的字符串
    	 */
    	private static String sha512Encode(String message){
    		return Encode("SHA-512",message);
    	}
    	
    	public static String icpSHA512Encode(String username,String password) {
    		
    		String encodeusername=sha512Encode(username);
    		String union=encodeusername+"_"+password;
    	    return sha512Encode(union);
    	}
    
    	public static String icpSHA256Encode(String username,String password) {
    		
    		String encodeusername=sha256Encode(username);
    		String union=encodeusername+"_"+password;
    	    return sha256Encode(union);
    	}
    	public static void main(String[] args) {
    		System.out.println(CodeUtil.icpSHA256Encode("xxx@qq.com", "111111"));
    		System.out.println(CodeUtil.icpSHA256Encode("xxx@qq.com", "111111"));
    		System.out.println(CodeUtil.icpSHA256Encode("xxx@qq.com", "222222"));
    		System.out.println(CodeUtil.icpSHA256Encode("zzz@zz.com", "111111"));
    		System.out.println(CodeUtil.icpSHA256Encode("zzz@zz.com", "111111"));
    		System.out.println(CodeUtil.icpSHA256Encode("zzz@zz.com", "222222"));
    	}
    }
    
  • 相关阅读:
    JavaScript 正则表达式(RegExp)
    impala 时间格式转换
    Informatica TO_BIGINT,TO_DECIMAL 转 字符串
    Hive metastore三种配置方式
    Windows10 从零搭建 Hadoop/Hive 环境及 Hive 入门
    Window 安装Hive
    使用dynamic-datasource-spring-boot-starter配置多数据源
    Sqoop 安装与简单测试
    使用dynamic-datasource-spring-boot-starter做多数据源及源码分析
    真正了解sqoop的一切
  • 原文地址:https://www.cnblogs.com/wjup/p/11041279.html
Copyright © 2011-2022 走看看