MD5随机散列加密算法

时间:2021-05-04 23:25:22

项目中需要在登录验证用户名、密码的时候对密码进行加密处理,由于是比较商业化的软件,所以安全方面还是必须要考虑的。而使用MD5随机散列加密算法使得密码加密后不可逆,很大程度上提升了安全性。废话不多说,看例子。

MD5加密类

  1. <span style="font-size:18px;">using System;
  2. using System.Text;
  3. using System.Security.Cryptography;
  4. namespace encryptType
  5. {
  6. public class Encrypt
  7. {
  8. public string encrypt(string strPwd)
  9. {
  10. String str = "";
  11. // 初始化MD5对象
  12. MD5 md5 = new MD5CryptoServiceProvider();
  13. // 将字符编码为一个字节数组
  14. byte[] data = Encoding.Default.GetBytes(strPwd);
  15. // 计算data字节数组的哈希值
  16. byte[] md5Data = md5.ComputeHash(data);
  17. // 清空md5
  18. md5.Clear();
  19. // 遍历md5Data哈希数组
  20. for (int i = 0; i < md5Data.Length-1; i++)
  21. {
  22. str += md5Data[i].ToString("x").PadLeft(2, '0');
  23. }
  24. return str;
  25. }
  26. }
  27. }
  28. </span>

窗体代码

  1. <span style="font-size:18px;">// 定义变量
  2. String userName = "yh101";
  3. String passWord = "1234";
  4. //String userName = txtUserName.Text.Trim();
  5. //String passWord = txtPwd.Text.Trim();
  6. //String str1 = "";
  7. //String str2 = "";
  8. // 实例化加密类
  9. Encrypt encrypt = new Encrypt();
  10. // 加密密码
  11. String strPwd = encrypt.encrypt(passWord);
  12. // 验证用户名
  13. if (userName != txtUserName.Text.Trim())
  14. {
  15. MessageBox.Show("用户名不存在,请重新输入!");
  16. txtUserName.Clear();
  17. txtUserName.Focus();
  18. return;
  19. }
  20. // 将输入的密码进行加密
  21. String strMima = encrypt.encrypt(txtPwd.Text.Trim());
  22. // 验证密码
  23. if (strMima != strPwd)
  24. {
  25. MessageBox.Show("密码不正确,登录失败!");
  26. txtPwd.Clear();
  27. txtPwd.Focus();
  28. return;
  29. }
  30. MessageBox.Show("密码正确,登录成功!" + "输入密码:" + strMima + "原密码:" + strPwd);</span>

原文出处:http://blog.csdn.net/happylee6688/article/details/8504067  紫羽风的博客

MD5随机散列加密算法的更多相关文章

  1. 加密算法和MD5等散列算法的区别(转)

    本文转自http://www.cnblogs.com/eternalwt/archive/2013/03/21/2973807.html 感谢作者 1.在软件开发的用户注册功能中常出现MD5加密这个概 ...

  2. HBase Rowkey的散列与预分区设计

    转自:http://www.cnblogs.com/bdifn/p/3801737.html 问题导读:1.如何防止热点?2.如何预分区?扩展:为什么会产生热点存储? HBase中,表会被划分为1.. ...

  3. rowkey散列和预分区设计解决hbase热点问题&lpar;数据倾斜&rpar;

    Hbase的表会被划分为1....n个Region,被托管在RegionServer中.Region二个重要的属性:Startkey与EndKey表示这个Region维护的rowkey的范围,当我们要 ...

  4. 简要介绍DES、RSA MD5 sha1 四种加密算法的优缺点,以及使用场合

    美国数据加密标准(DES)是对称密码算法,就是加密密钥能够从解密密钥中推算出来,反过来也成立.密钥较短,加密处理简单,加解密速度快,适用于加密大量数据的场合.RSA是非对称算法,加密密钥和解密密钥是不 ...

  5. HBase 热点问题——rowkey散列和预分区设计

    热点发生在大量的client直接访问集群的一个或极少数个节点(访问可能是读,写或者其他操作).大量访问会使热点region所在的单个机器超出自身承受能力,引起性能下降甚至region不可用,这也会影响 ...

  6. MD5和sha1加密算法--散列加密技术 MD5:128bit的大整数

    在很多电子商务和社区应用中,我们都要存放很多的客户的资料,其中包括了很多的隐私信息和客户不愿被别人看到的信息,当然好有客户执行各种操作的密码,此时就需要对客户的信息进行加密再存储,目前有两种比较好的加 ...

  7. java加密算法--MD5加密和哈希散列带秘钥加密算法源码

    package com.ompa.common.utils; import java.security.MessageDigest; import java.security.NoSuchAlgori ...

  8. 给MD5加上salt随机盐值加密算法实现密码安全的php实现

    给MD5加上salt随机盐值加密算法实现密码安全的php实现 如果直接对密码进行散列,那么黑客可以对通过获得这个密码散列值,然后通过查散列值字典(例如MD5密码破解网站),得到某用户的密码.加上sal ...

  9. s14 第5天 时间模块 随机模块 String模块 shutil模块(文件操作) 文件压缩(zipfile和tarfile)shelve模块 XML模块 ConfigParser配置文件操作模块 hashlib散列模块 Subprocess模块(调用shell) logging模块 正则表达式模块 r字符串和转译

    时间模块 time datatime time.clock(2.7) time.process_time(3.3) 测量处理器运算时间,不包括sleep时间 time.altzone 返回与UTC时间 ...

随机推荐

  1. 022医疗项目-模块二:药品目录的导入导出-对XSSF导出excel类进行封装

    资源全部来源于传智播客. 好的架构师写的程序,就算给刚入门的新手看,新手一看就知道怎么去用.所以我们要对XSSF导出excel类进行封装.这是架构师的工作,但我们也要知道. 我们写一个封装类: 这个类 ...

  2. 跨域使用jsonp 获取天气预报

    <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server">    ...

  3. IE8 placeholder兼容&plus;Password兼容

    对于placeholder兼容问题 IE系列的大部分不兼容 使用JQ插件解决这个问题,确实用法很简单 jS下载地址http://www.ijquery.cn/js/jquery.placeholder ...

  4. &lbrack;Python&rsqb;新手写爬虫全过程(转)

    今天早上起来,第一件事情就是理一理今天该做的事情,瞬间get到任务,写一个只用python字符串内建函数的爬虫,定义为v1.0,开发中的版本号定义为v0.x.数据存放?这个是一个练手的玩具,就写在tx ...

  5. meta 整理

    < meta > 元素 概要 标签提供关于HTML文档的元数据.元数据不会显示在页面上,但是对于机器是可读的.它可用于浏览器(如何显示内容或重新加载页面),搜索引擎(关键词),或其他 we ...

  6. 【转载】CANoe 入门 Step by step系列(三)简单例子的剖析

    来源:http://www.cnblogs.com/dongdonghuihui/archive/2012/09/26/2704623.html 最好的学习方式是什么?模仿.有人会问,那不是山寨么?但 ...

  7. RMQ问题 &lbrack;luogu 3865&rsqb;

    原题地址 ST表模板题,尝试用单点修改线段树. 原本以为线段树会被卡掉,但是还是险过了.实践证明,快速读入很有用. #include<bits/stdc++.h> using namesp ...

  8. Failed to decode downloaded font

    碰到如下错误,该错误是开启layui的打印.导出.筛选列时出现的,不能正常显示图标及文字 原因: @参考文章 因为经过maven的filter,会破坏font文件的二进制文件格式,到时前台解析出错 解 ...

  9. JavaScript中正则的使用(1)

    通过例子学习正则中的常见语法(1) $num javascript var a = 'javascript'; var b = a.replace(/(java)(script)/gi, '$2-$1 ...

  10. expect 批量增加用户及配置密码

    start.sh #!/bin/bash password="111111" username="test" if [ $# == 1 ] then usern ...