• 密码与加密验证


    此验证是不可逆转的

    public class Passwor
    {
        private final static String[] hexDigital =
        { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "a", "b", "c", "d", "e", "f" };
     
        public static String creatPassword(String inputString)
        {
            return enCodeByMD5(inputString);
        }
     
        public static boolean authentiCreatPassword(String password, String inputString)
        {
            if (password.equals(enCodeByMD5(inputString)))
                return true;
            return false;
        }
     
        private static String enCodeByMD5(String originString)
        {
            try
            {
                // 创建具有指定算法名称的信息摘要
                MessageDigest mDigest = MessageDigest.getInstance("MD5");
                // 使用指定的字节数组对摘要进行最后的更新,然后完成摘要计算
                byte[] results = mDigest.digest(originString.getBytes());
                String resultString = byteArrayToHexString(results);
                return resultString.toUpperCase();
            } catch (Exception e)
            {
                e.printStackTrace();
            }
            return null;
        }
        private  static String byteArrayToHexString(byte[] b)
        {
            StringBuffer resultBuffer=new StringBuffer();
            for(int i=0;i<b.length;i++)
                resultBuffer.append(byteToHexString(b[i]));
            return resultBuffer.toString();
        }
        private static String byteToHexString(byte b)
        {
            int n=b;
            if(n<0)
                n+=256;
            int d1=n/16;
            int d2=n%16;
            return hexDigital[d1]+hexDigital[d2];//返回十六进制的字符串形式
        }
        public static void main(String []args)
        {
            //通常用于管理账户信息数据数据库,用户设置的密码通过加密后存放在数据库中,管理看不到原密码  
            String passwordString=Passwor.creatPassword("1234567");
            System.out.println(passwordString);
            String inputString="123456";
            System.out.println(Passwor.authentiCreatPassword(passwordString, inputString));
            inputString="1234567";
            System.out.println(Passwor.authentiCreatPassword(passwordString, inputString));
        }
    梦里不知身是客,一晌贪欢。
  • 相关阅读:
    结算凭证中委托付款部分sql
    各公司年资金归集汇总sql
    通过开户银行账号查询客商名称 sql
    TRIGGER_15.8.3BACKUP
    备份触发器:ADDC3
    sql查询单个银行账号重复
    待研究:insert客商账户触发器增加条件提示为空
    sql:劳务统计各分公司管理费用明细合计(等同汇总报表)
    【ASP.NET程序员福利】打造一款人见人爱的ORM(二)
    【ASP.NET程序员福利】打造一款人见人爱的ORM(一)
  • 原文地址:https://www.cnblogs.com/dccmmtop/p/5709943.html
Copyright © 2020-2023  润新知