.Net学习笔记----2015-06-30(MD5加密)

    class Program
    {
        static void Main(string[] args)
        {
            //MD5加密是不可逆的
            string s = GetMD5("123");
            Console.WriteLine(s);
            Console.ReadKey();
        }
        public static string GetMD5(string str)
        {
            //创建MD5对象
            MD5 md5 = MD5.Create();
            //开始加密
            //需要将字符串转换成字节数组
            byte[] buffer = Encoding.Default.GetBytes(str);
            //返回一个加密好的字节数组
            byte[] MD5Buffer = md5.ComputeHash(buffer);

            //将字节数组转换成字符串
            //字节数组转字符串,理论上有3种方式
            //将字节数组中的每个元素按照指定的编码格式解析成字符串Encoding.Default.GetString(MD5Buffer);
            //直接将数组ToString();   pass
            //将字节数组中的每个元素ToString();
            //return Encoding.Default.GetString(MD5Buffer);
            string str1 = null;
            for (int i = 0; i < MD5Buffer.Length; i++)
            {
                str1 += MD5Buffer[i].ToString("x2");
            }
            return str1;

        }
    }
时间: 2024-07-30 13:07:16

.Net学习笔记----2015-06-30(MD5加密)的相关文章

【Ext.Net学习笔记】06:Ext.Net GridPanel的用法(GridPanel 折叠/展开行、GridPanel Selection、 可编辑的GridPanel)

GridPanel 折叠/展开行 Ext.Net GridPanel的行支持折叠/展开功能,这个功能个人觉得还说很有用处的,尤其是数据中包含图片等内容的时候. 下面来看看效果: 使用行折叠/展开功能之后,在Ext.Net GridPanel的行头会出现一个展开图标,点击图标以后能够将这一行展开: 使用XTemplate实现行折叠/展开 这是最简单的一种实现,在上一篇文章:[Ext.Net学习笔记]05:Ext.Net GridPanel的用法(包含Filter.Sorter.Grouping.汇

Duilib学习笔记《06》— 窗体基类WindowImpBase

在前面的例子中我们发现,窗口都是继承CWindowWnd.INotifyUI,然后重载相关函数去实现.显然,我们发现窗口的创建流程实际上都是差不多的,主要只是在OnCreate加载的配置文件不同等等…所以,能不能创建一个公有的窗体基类呢?其实,在duilib中已经提供了一个窗体基类 WindowImplBase:在基类内搭建窗口的消息框架,各处理函数为虚函数,子类可以重载处理函数,实现其处理. 此处我们以修改之前的代码为例来进行说明. 1. 窗体显示 CMainWndDlg类修改为继承Windo

HTML第一天学习笔记2015 10 01

如需在 HTML5 中显示视频,您所有需要的是: <video src="movie.ogg" controls="controls"> </video> <html> 与 </html> 之间的文本描述网页 <body> 与 </body> 之间的文本是可见的页面内容 <h1> 与 </h1> 之间的文本被显示为标题 <p> 与 </p> 之间的

路冉的JavaScript学习笔记-2015年1月23日

1.JavaScript的数据类型 A.原始类型:包含数值.字符串.布尔值.空值(null)和未定义值(undefined). Js原始类型均为不可改变类型.对不可变类型调用任何自带方法都不会改变原始值,除非重新赋值.例如: var s="Hello,World"; s.toUpperCase();//将字串全部大写 console.log("s的值为:"+s); 在Firefox Firebug控制台内执行结果为: B.对象类型:对象为Js类的实例,使用“构造函数

&lt;&lt;Python基础教程&gt;&gt;学习笔记 | 第06章 | 抽象

第06章  抽象 ------ 懒惰即美德 假如要计算斐波那契数列(任何一个数是前两数之和的数字序列) >>> fibs=[0,1] >>> for i in range(8): fibs.append(fibs[-2]+fibs[-1]) #fibs[-2]+fibs[-1]后两位数,append往后添加 #运行后,包含10个斐波那契数列的10个数字是 >>> fibs [0, 1, 1, 2, 3, 5, 8, 13, 21, 34] 如果允许用户

selenium2 webdriver学习笔记2015.10.18

以下程序实现126邮箱的写信.存草稿及预览验证 package email;import static org.junit.Assert.fail; import java.util.concurrent.TimeUnit; import org.junit.After;import org.junit.Before;import org.junit.Test;import org.openqa.selenium.*;import org.openqa.selenium.WebDriver.*;

python 学习笔记(06)

字典 {} 元组() 列表 []  字典 {}        字典是python 中唯一的映射类型(哈希表) 字典的对象可变,但是字典的键必须使用不可变对象,并且一个字典中可以使用不同的键值 keys() 或者 values() 返回键列表或者值列表 items() 返回包含键值对的元组 定义方式:     dic={'name':'sql','age':30,'gender':'male'}     取值:     >>>dic['name']     sql     >>

《Effective C++ 》学习笔记——条款06

***************************************转载请注明出处:http://blog.csdn.net/lttree******************************************** 二.Constructors,Destructors and Assignment Operators Rule 06: Explicityly disallow the use of compiler-generated functions you do no

【JAVAWEB学习笔记】06

[h1]注意DOM无法使用JQ的方法 所以要进行$()来转换 五.使用JQ完成下拉列表左右选择 1.需求分析 见图片文字部分内容. 2.分析 第一步:确定事件(鼠标单击事件click) 第二步:获取左侧下拉列表被选中的option($("#left option:selected")) [假设左侧select定义了一个id=left] 第三步:将获取到的option添加到右侧的下拉列表中去.(append方法的使用) 3.代码实现 <script type="text/

Effective C++学习笔记 条款06:如不想使用编译器自动生成的函数,就该明确拒绝

一.为驳回编译器自动提供的机能,可将相应成员函数声明为private并且不予实现.(如果你仅仅是自己不实现的话,编译器会帮你实现) 如: class A { public: A(const string& name):m_name(name) {} private: //拒绝copy和赋值,声明为private,并且只声明不实现 A(const A&); A& operator=(const A&); private: string m_name; }; 二.对于拒绝赋值的