.net下MD5算法和加盐

MD5方法:

public static string GetMD5(string sDataIn)
        {
            MD5CryptoServiceProvider md5 = new MD5CryptoServiceProvider();
            byte[] bytValue, bytHash;
            bytValue = System.Text.Encoding.UTF8.GetBytes(sDataIn);
            bytHash = md5.ComputeHash(bytValue);
            md5.Clear();
            string sTemp = "";
            for (int i = 0; i < bytHash.Length; i++)
            {
                sTemp += bytHash[i].ToString("X").PadLeft(2, ‘0‘);
            }
            return sTemp.ToLower();
        }

密码加盐
        public static string GetPasswordSalt()
        {
            string getPasswordSalt= ConfigurationManager.AppSettings["passwordSalt"];
            return getPasswordSalt;
        }

passwordSalt就是所谓的盐,其内容存放在App.config文件里,app中代码:

<configuration>
  <appSettings>
    <add key="passwordSalt" value="1234"/>//1234为盐,用参数passwordSalt表示
  </appSettings>
</configuration>

时间: 2024-10-09 04:43:59

.net下MD5算法和加盐的相关文章

用于对项目中密码生成MD5摘要和加盐的工具类

import java.security.MessageDigest; /** * 用于对项目中密码生成MD5摘要和加盐的工具类 * @author 彭锋 */ public final class MD5Util { private static final char[] hexadecimal = {'0','1','2','3','4','5','6', '7','8','9','a','b','c','d','e','f'}; /** * 根据指定的字符串,返回对应的MD5摘要结果 *

shiro自定义realm支持MD5算法(六)

1.1     散列算法 通常需要对密码 进行散列,常用的有md5.sha, 对md5密码,如果知道散列后的值可以通过穷举算法,得到md5密码对应的明文. 建议对md5进行散列时加salt(盐),进行加密相当 于对原始密码+盐进行散列.(盐就相当于加入一个随机数) 正常使用时散列方法: 在程序中对原始密码+盐进行散列,将散列值存储到数据库中,并且还要将盐也要存储在数据库中. 如果进行密码对比时,使用相同 方法,将原始密码+盐进行散列,进行比对. 1.2 MD5测试 package cn.qlq.

MD5算法实现

MD5算法的简要叙述为: MD5以512位分组来处理输入的信息(512位分组?每次处理都取出512位数据?), 每一分组又被划分为16个32位子分组(16乘32刚好是512), 经过一些列的处理后(怎么处理的?),算法的输出由四个32位分组组成, 将这4个32位分组级联后将生成一个128位的散列值(那么这个散列值是最后的加密结果咯). 在MD5算法中,首先需要对信息进行填充,使其位长度对512求余的结果等于448. 因此,信息的位长度(Bits Length)将被扩展至N*512+448,即N*

常用MD5算法代码

常用的MD5算法代码日期: 2014年8月4日作者: 铁锚 MD5,全称为 Message Digest Algorithm 5(消息摘要算法第五版).详情请参考 维基百科:MD5 MD5加密后是一个字节数组, 但我们一般是取其十六进制的字符串表示法,当然,十六进制数字符串是区分大小写,在 mysql数据库,Java,和JavaScript语言中,一般是使用小写的字符串来表示, 而在 Oracle数据库官方提供的包中,返回的是大写字符串,这算是一个坑,如果你想要执行多次 md5,可能需要转换为小

[MD5算法练习] Arial CD Ripper 1.9.8算法分析

[破文标题][MD5算法练习] Arial CD Ripper 1.9.8算法分析[破文作者]静心学习[作者邮箱][email protected][作者主页]http://www.cnblogs.com/dacainiao/[破解工具]OD, DEDE, IDA[破解平台]xp sp3[软件名称]Arial CD Ripper 1.9.8[软件大小]1833KB[原版下载]http://www.onlinedown.net/soft/31096.htm[保护方式]无壳[软件简介]一款界面友好的

SHA-1,MD5算法原理

本文绝大部分内容来自<网络安全基础--应用与标准>第五版--清华大学出版社.其中蓝色部门是自己添加 安全散列函数 单向散列函数或者安全散列函数之所以重要,不仅在于消息认证(消息摘要,数据指纹),还有数字签名(加强版的消息认证)和验证数据的完整性.常见的单向散列函数有MD5和SHA 散列函数的要求 散列函数的目的是文件.消息或者其他数据块产生"指纹".为满足在消息认证中的应用,散列函数H必须具有下列性质: (1)H可适用于任意长度的数据块. (2)H能够生成固定长度的输出.

MD5 算法

MD5 Message Digest Algorithm MD5(中文名为消息摘要算法第 五版)为计算机安全领域广泛使用的一种散列函数,用以提供消息的完整性保护.该算法的文件号为RFC 1321(R.Rivest,MIT Laboratory for Computer Science and RSA Data Security Inc. April 1992). MD5即Message-Digest Algorithm 5(信息-摘要算法5),用于确保信息传输完整一致.是计算机广泛使用的杂凑算法

MD5算法解析

MD5的全称是Message-Digest Algorithm 5,在90年代初由MIT的计算机科学实验室和RSA Data Security Inc发明,经MD2.MD3和MD4发展而来. MD5将任意长度的“字节串”变换成一个128bit的大整数,并且它是一个不可逆的字符串变换算法,换句话说就是,即使你看到源程序和算法描述,也无法将一个MD5的值变换回原始的字符串,从数学原理上说,是因为原始的字符串有无穷多个,这有点象不存在反函数的数学函数. MD5的典型应用是对一段Message(字节串)

MD5算法在PB中的实现(转载自 - 阿多米 - 博客园)

注:转载请写明出处.本文转载自--阿多米,原链接:http://www.cnblogs.com/zzjder/archive/2008/10/23/1317505.html 目的是防止原链接失效,好文章要保存起来. MD5算法自从1991开发出来以后广泛用于数字签名和加密解密领域.目前使用PB外的语言可以较为简单地实现了MD5加密,使用PB来实现的比较鲜见,这可能有如下两方面的原因:一,PB在位运算方面未提供直接使用的函数,要实现位运算比较麻烦:二,在PB(PB10之前的版本)中无法直接获取字符