zoukankan      html  css  js  c++  java
  • MD5加密与验证

    package com.study;
    
    import java.security.MessageDigest;
    import java.security.NoSuchAlgorithmException;
    
    public class Md5Test {
    
    	
    	public static String encodeByMD5(String userPwd){
    		
    		String pwdByMd5 = "";
    		
    		try {
    			MessageDigest md5 = MessageDigest.getInstance("MD5");
    			
    			byte[] bytePwd = md5.digest(userPwd.getBytes());
    			 
    			StringBuffer hexValue = new StringBuffer();  
    			
    			 for (int i = 0; i < bytePwd.length; i++) {  
    				 int val = ((int) bytePwd[i]) & 0xff;  
    				 if (val < 16)  
    					 hexValue.append("0");  
    				 hexValue.append(Integer.toHexString(val));  
    			 }  
    			 pwdByMd5 = hexValue.toString();
    		} catch (NoSuchAlgorithmException e) {
    			e.printStackTrace();
    		}
    		
    		
    		
    		return pwdByMd5;
    	}
    	
    	
    	 /** 
            * 验证输入的密码是否正确 
            * @param password    加密后的密码 
            * @param inputString    输入的字符串 
            * @return    验证结果,TRUE:正确 FALSE:错误 
    		*/  
    		public static boolean validatePassword(String password, String inputString){  
    			if(password.equals(encodeByMD5(inputString))){  
    		         return true;  
    		    } else{  
    		         return false;  
    		    }  
    	    }  
    
    	
    	
    }
    

      与 0xff进行&运算 是为了用8字节的byte类型获取一个32字节的int类型数

  • 相关阅读:
    spark实验四(2)
    spark实验四
    神奇的一天
    Spark实验三
    Scala实验任务三
    Scala实验任务二
    Scala语言实验任务一
    kettle的基本使用
    质量属性之安全性战术
    datax相关
  • 原文地址:https://www.cnblogs.com/liangblog/p/4707242.html
Copyright © 2011-2022 走看看