Android中加密算法

加密

1.MD5加密

为了安全保存密码, 可以md5算法, md5是一种不可逆的加密算法

    public static void main(String[] args) {
    try {
        String password = "123456";
        MessageDigest digest = MessageDigest.getInstance("MD5");
        byte[] result = digest.digest(password.getBytes());

        StringBuffer sb = new StringBuffer();
        for (byte b : result) {
            int i = b & 0xff;// 将字节转为整数
            String hexString = Integer.toHexString(i);// 将整数转为16进制

            if (hexString.length() == 1) {
                hexString = "0" + hexString;// 如果长度等于1, 加0补位
            }

            sb.append(hexString);
        }

        System.out.println(sb.toString());//打印得到的md5

        } catch (NoSuchAlgorithmException e) {
            // 如果算法不存在的话,就会进入该方法中
            e.printStackTrace();
        }
    }

登录网站: http://www.cmd5.com/ 验证md5准确性

为避免暴力破解, 可以对算法加盐

什么是加盐?

比如以前我们只是把password进行md5加密, 现在可以给password加点盐,这个盐可以是一个固定的字符串,比如用户名username, 然后我们计算一下md5(username+password), 保存在服务器的数据库中, 即使这个md5泄露, 被人破解后也不是原始的密码, 一定程度上增加了安全性

目前市面上已经可以达到的解密水平

posted @ 2017-04-27 08:11  潇风寒月  阅读(3)  评论(0)    收藏  举报