015 Android md5密码加密

1.md5加密介绍

MD5算法是广泛使用的杂凑函数,也就是哈希函数,英文全拼是:Message Digest Algorithm,对应的中文名字是消息摘要算法。

MD5加密:将字符串转换成 32位的字符串(随机生成16进制的字符0-F、不可逆)

MD5加密的特点:

(1)一个任意长度的数据,经过MD5计算后就会得到一个长度固定的十六进制字符串;

(2)MD5算法消耗较低,不会在性能在造成压力; 
(3)抗修改性很强,相差极小的两个原数据的MD5值差异会很大 
(4)抗碰撞性也很强,伪造数据的难度很大

2.MD5工具类

package com.example.administrator.test62360safeguard.Utils;

import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;

public class MD5Util {
    public static void main(String[] args) {
            String psw="123";
            encoder(psw);
    }

    /**
     * 给指定字符串按照md5算法进行加密
     * @param psw 需要加密的密码
     */
    public static String encoder(String psw) {
        try {
            psw=psw+"safeguard"; //密码加盐
            //1.指定加密算法
            MessageDigest digest=MessageDigest.getInstance("MD5");
            //2.将需要的字符串转换为byte类型的数组,然后进行随机哈希过程
            byte[] bs=digest.digest(psw.getBytes());
            System.out.println(bs.length);
            //3.循环遍历bs,然后让其生成32位的字符串(固定写法),拼接字符串
            StringBuffer sb=new StringBuffer();
            for (byte b : bs) {
                int i=b&0xff; //固定写法
                //将int类型的i转换成16进制的字符
                String hexStr=Integer.toHexString(i);
                if(hexStr.length()<2){
                    hexStr="0"+hexStr;
                }
                sb.append(hexStr);
            }
            //System.out.println(sb);
            return sb.toString();
        } catch (NoSuchAlgorithmException e) {
            e.printStackTrace();
        }
        return "";
    }
}

原文地址:https://www.cnblogs.com/luckyplj/p/10818070.html

时间: 2024-10-10 07:09:55

015 Android md5密码加密的相关文章

MD5密码加密

MD5密码加密 # coding:utf-8 import requests import re from bs4 import BeautifulSoup import hashlib def encryptPwd(passwd): # 对密码进行了md5双重加密 passwd = hashlib.md5(passwd.encode('utf-8')).hexdigest() # veennike 这个值是在js文件找到的一个写死的值 passwd = 'veenike'+passwd+'ve

Android之简单加密–MD5 加密

在Android中需要对各种数据进行加密的操作,比如用户短信备份的数据加密.用户账户登陆的密码加密以及应用于服务器连接传递重要数据的加密,用处非常的多这里介绍一下MD5加密: 案例驱动: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 public class MD5Utils {      // 进行md5的加密运算      public static String encode(Strin

C#:使用MD5对用户密码加密与解密

C#中常涉及到对用户密码的加密于解密的算法,其中使用MD5加密是最常见的的实现方式.本文总结了通用的算法并结合了自己的一点小经验,分享给大家. 一.使用16位.32位.64位MD5方法对用户名加密 1)16位的MD5加密 /// <summary> /// 16位MD5加密 /// </summary> /// <param name="password"></param> /// <returns></returns&

转 C#:使用MD5对用户密码加密与解密

C#中常涉及到对用户密码的加密于解密的算法,其中使用MD5加密是最常见的的实现方式.本文总结了通用的算法并结合了自己的一点小经验,分享给大家. 一.使用16位.32位.64位MD5方法对用户名加密 1)16位的MD5加密 /// <summary> /// 16位MD5加密 /// </summary> /// <param name="password"></param> /// <returns></returns&

密码加密MD5

密码加密MD5 创建NSString的类目 NSString+Password.h 1 // 2 // NSString+Password.h 3 // 03.数据加密 4 // 5 // Created by wyh on 15-1-10. 6 // Copyright (c) 2015年 itcast. All rights reserved. 7 // 8 9 10 #import <Foundation/Foundation.h> 11 12 @interface NSString (

Android传输数据时加密详解

Android传输数据时加密详解 ONE Goal , ONE Passion ! ------–MD5加密------- MD5即Message-Digest Algorithm 5(信息-摘要算法5),用于确保信息传输完整一致.是计算机广泛使用的杂凑算法之一(又译摘要算法.哈希算法),主流编程语言普遍已有MD5实现.将数据(如汉字)运算为另一固定长度值,是杂凑算法的基础原理,MD5的前身有MD2.MD3和MD4 MD5算法具有以下特点: 1.压缩性:任意长度的数据,算出的MD5值长度都是固定

extmail 密码加密方式修改为plain-md5的方法

extmail默认密码加密方式是md5crypt,但是有些时候会遇到这样的问题--老的邮件系统中的用户密码是md5加密的. 此时需要将extmail的密码加密方式修改为md5,通过官方解释(md5和md5crypt没有区别),修改为plain-md5即可.但是,这只解决了web登陆的验证问题,没有解决smtp以及pop3的验证问题. 通过 http://www.extmail.org/forum/viewthread.php?tid=3175 帖子解决了验证问题,内容摘录如下: courier-

用户密码加密存储十问十答,一文说透密码安全存储

我们数据库的权限管理十分严格,敏感信息开发工程师都看不到,密码明文存储不行吗? 不行.存储在数据库的数据面临很多威胁,有应用程序层面.数据库层面的.操作系统层面的.机房层面的.员工层面的,想做到百分百不被黑客窃取,非常困难. 如果密码是加密之后再存储,那么即便被拖库,黑客也难以获取用户的明文密码.可以说,密码加密存储是用户账户系统的底裤,它的重要性,相当于你独自出远门时缝在内衣里钱,虽然你用到他们的概率不大,但关键时刻他们能救命. 那用加密算法比如AES,把密码加密下再存,需要明文的时候我再解密

用C#实现MD5的加密(转载)

方法一 首先,先简单介绍一下MD5 MD5的全称是message-digest algorithm 5(信息-摘要算法,在90年代初由mit laboratory for computer science和rsa data security inc的ronald l. rivest开发出来, 经md2.md3和md4发展而来. MD5具有很好的安全性(因为它具有不可逆的特征,加过密的密文经过解密后和加密前的东东相同的可能性极小) 引用 using System.Security.Cryptogr