JAVA 对字符串进行MD5加密

对字符串进行MD5加密主要是应用在密码存储等地方,下面函数主要是用Java实现对字符串进行MD5加密的功能

/** 十六进制下数字到字符的映射数组 */
    private final static String[] hexDigits = { "0", "1", "2", "3", "4", "5",
            "6", "7", "8", "9", "a", "b", "c", "d", "e", "f" };

/**
     * 对字符串进行MD5编码
     * @param originString
     * @return
     */
    private static String encodeByMD5(String originString) {
        if (originString != null){
            try {
                MessageDigest md = MessageDigest.getInstance("MD5");
                byte[] results = md.digest(originString .getBytes());
                String resultString = byteArrayToHexString(results);
                return resultString.toUpperCase();
            } catch (Exception ex) {
                ex.printStackTrace();
            }
        }
        return null;
    }

    /**
     * 转换字节数组为16进制字串
     * 
     * @param b  字节数组
     * @return 十六进制字串
     */
    private static String byteArrayToHexString(byte[] b) {
        StringBuffer resultSb = new StringBuffer();
        for (int i = 0; i < b.length; i++) {
            resultSb.append(byteToHexString(b[i]));
        }
        return resultSb.toString();
    }

    /**
     * 将一个字节转化成16进制形式的字符串
     * @param b
     * @return
     */
    private static String byteToHexString(byte b) {
        int n = b;
        if (n < 0)
            n = 256 + n;
        int d1 = n / 16;
        int d2 = n % 16;
        return hexDigits[d1] + hexDigits[d2];
    }
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
第1章 开发环境 1 1.1 Visual Studio开发环境安装与配置 2 0001 安装Visual Studio 2005开发环境须知 2 0002 配置合适的Visual Studio 2005开发环境 2 0003 设置程序代码行序号 3 0004 开发环境全屏显示 3 0005 设置窗口的自动隐藏功能 3 0006 根据需要创建所需解决方案 4 0007 如何使用“验证的目标架构”功能 4 1.2 Visual Studio开发环境的使用 4 0008 为程序设置版本和帮助信息 4 0009 设置Windows应用程序启动窗体 5 0010 设置Web应用程序起始页 5 0011 如何设置程序的出错窗口 5 0012 如何进行程序调试 6 0013 如何结束不能正常运行的程序 6 0014 如何锁定窗体中的控件 6 0015 统一窗体中控件的字体设置 7 0016 通过“格式”菜单布局窗体 7 0017 起始页中的“Visual Studio开发人员新闻” 7 1.3 MSDN帮助的使用 8 0018 有效利用Visual Studio 2005附带程序 8 0019 有效使用MSDN帮助 9 0020 如何设置MSDN帮助 9 1.4 其他 10 0021 如何添加项目引用 10 0022 如何添加Web引用 10 0023 如何添加引用第3方控件 11 0024 如何生成DLL文件 11 0025 如何使用不安全代码 11 第2章 语言基础 13 2.1 注释 14 0026 如何对代码进行注释 14 0027 #region、#endregion关键字的使用技巧 14 0028 “///”符号的使用技巧 14 0029 使用注释取消程序语句的执行 15 2.2 语句 15 0030 跳转语句GOTO的使用 15 0031 Continue语句的使用 16 0032 Break语句的使用 16 0033 Return语句的使用 17 0034 如何实现无限循环 17 0035 巧用foreach语句控制控件 18 0036 有效使用switch case语句 18 2.3 运算符 19 0037 如何使用引号赋值 19 0038 巧用“^=”运算符 19 0039 巧用位移运算符 20 0040 使用条件运算符 20 0041 巧用分隔符 20 0042 如何处理转义字符 21 0043 “;”结束符问题 21 0044 如何使用“??”操作符 22 2.4 表达式与关键词 22 0045 正确使用“&&”和“||” 22 0046 如何处理程序“溢出”错误 23 0047 有效使用base关键字 23 0048 typeof表达式的使用 23 0049 params关键字可以指定多参数 24 0050 using关键字的用法 24 0051 变量的作用域 25 2.5 其他 26 0052 有效使用this对象 26 0053 如何声明变量 26 0054 如何声明相同类型的多个变量 26 0055 利用Object变量传递参数 27 0056 强行改变运算符的运算顺序 27 第3章 程序算法 29 3.1 数据结构 30 0057 如何实现单向链表 30 0058 如何实现双向链表 35 0059 如何实现堆栈 41 0060 队列的实现 43 0061 树的实现 44 3.2 排序 48 0062 如何实现选择排序算法 48 0063 如何实现冒泡排序算法 49 0064 如何实现快速排序算法 50 0065 如何实现插入排序算法 50 0066 如何实现希尔排序算法 51 3.3 常见算法的实际应用 52 0067 计算1+22+33+44+……+nn的值 52 0068 计算10!的值 52 0069 求最大公约数 52 0070 求最小公倍数 53 0071 判断素数的算法 53 0072 如何判断一个数是否是完数 54 0073 歌德巴赫猜想的算法 54 0074 八皇后问题 54 0075 用回溯法找出n个自然数中取r个数的全排列 55 0076 约瑟夫环问题 56 0077 猴子选大王 57 0078 如何判断IP是否正确 57 0079 如何将小写金额转换为大写金额 57 0080 统计文本字数 58 0081 文本中首字母改为大写 59 0082 C#随机数的产生 59 0083 身份证从15位升至18位算法 60 0084 十进制数转二进制数的算法 60 0085 十进制数转八进制数的算法 61 0086 十进制数转十六进制数的算法 62 0087 二、八、十六进制数转十进制数的算法 63 3.4 密码算法 65 0088 使用MD5算法对密码进行加密 65 0089 “凯撒”密码的算法 65 第4章 字符及字符串处理技术 67 4.1 字符及字符串转换 68

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值