加密与解密算法:

/// <summary>
/// 签名字符串 32位
/// </summary>
/// <param name="input">要加密的字符串</param>
/// <param name="Key">加盐值</param>
/// <returns></returns>
public static string Sign(string prestr, string Key)
{System.Security.Cryptography.MD5 md5 = System.Security.Cryptography.MD5.Create();prestr = prestr + Key;byte[] data = md5.ComputeHash(System.Text.Encoding.Default.GetBytes(prestr));StringBuilder sb = new StringBuilder();for (int i = 0; i < data.Length; i++){sb.Append(data[i].ToString("x2"));}return sb.ToString();
}/// <summary>
/// 验证签名
/// </summary>
/// <param name="prestr">需要签名的字符串</param>
/// <param name="sign">签名结果(MD5加密过后的字符串)</param>
/// <param name="key">密钥</param>
/// <param name="_input_charset">编码格式</param>
/// <returns>验证结果</returns>
public static bool Verify(string prestr, string sign, string key)
{string mysign = Sign(prestr, key);if (mysign == sign){return true;}else{return false;}
}

  

控制台调用:

static void Main(string[] args)
{//密钥string Key = ",.huangfu/?";//原始密码string Prestr = "huangfu";//显示密钥与原始密码Console.WriteLine("原始密码:"+Prestr+"\n密钥是:"+Key);//加密原始密码string MD5Prestr = MD5.Sign(Prestr, Key);//输出加密过后的密码Console.WriteLine("经过MD5加密过后的字符串:" + MD5Prestr);//提示输入密码Console.WriteLine("请输入密码:");string PassWord = Convert.ToString(Console.ReadLine());//判断所输入密码是否与原始密码相同if (MD5.Verify(PassWord, MD5Prestr, Key))Console.WriteLine("密码正确!");elseConsole.WriteLine("密码错误!");Console.ReadKey();
}

  

输出结果:

转载于:https://www.cnblogs.com/KTblog/p/4730316.html

MD5加密以及验证加密-加盐相关推荐

  1. python3 hashlib加密库 md5 sha1 sha256 sha384 sha512 加盐

    简介: 用于加密相关的操作,代替了md5模块和sha模块,主要提供SHA1,SHA224,SHA256,SHA384,SHA512,MD5算法. 在python3中已经废弃了md5和sha模块,简单说 ...

  2. sha256加密_python中使用加盐哈希函数加密密码

    开发网站离不开用户的注册与登录,今天来说说在网站开发的时候关于用户密码的保存方式,传统的方式有以下几种 - 明文存储:肉眼就可以识别,没有任何安全性. 谁用谁傻缺 - 加密存储:通过一定的变换形式,使 ...

  3. Spring Security 密码验证动态加盐的验证处理

    本文个人博客地址:https://www.leafage.top/posts/detail/21697I2R 最近几天在改造项目,需要将gateway整合security在一起进行认证和鉴权,之前ga ...

  4. Java使用MD5加盐对密码进行加密处理,附注册和登录加密解密处理

    前言 在开发的时候,有一些敏感信息是不能直接通过明白直接保存到数据库的.最经典的就是密码了.如果直接把密码以明文的形式入库,不仅会泄露用户的隐私,对系统也是极其的不厉,这样做是非常危险的. 那么我们就 ...

  5. 浅谈MD5加密算法中的加盐值(SALT)

    我们知道,如果直接对密码进行散列,那么***可以对通过获得这个密码散列值,然后通过查散列值字典(例如MD5密码破解网站),得到某用户的密码. 加Salt可以一定程度上解决这一问题.所谓加Salt方法, ...

  6. MD5工具类(含16位、32位、加盐、无盐、大小写)

    什么是MD5 MD5(Message-Digest Algorithm 5),即消息摘要算法第五版,是一种被广泛使用的密码散列函数.散列算法的基础原理是:将数据(如一段文字)运算演变为另一段固定长度( ...

  7. MD5流程以及安全性分析,MD5加盐,MD6,笔记

    版权归其所有论文作者所有. 并没写原始的地址,因为这是我整合的,作者太多,包括我.太匆忙,原作者可以联系我. 简介 MD5适用于数据完整性校验的.将任意长度的字节串(所以是基于底层的二进制串的),映射 ...

  8. 密码加盐原理及其实现

    目录 1. 背景介绍 2. MD5加密算法 2.1 MD5算法的介绍 2.2 MD5算法的缺点 3. 加盐算法 3.1 什么是加盐算法 3.2 加盐算法的演示 4. 总结 1. 背景介绍 加密密码是现 ...

  9. Java密码加盐功能实现

    写入数据库的密码,如果不加密,就会被人偷窥进而引发账户安全问题.java常用的加密操作是采用MD5进行加密.它是采用哈希算法来进行加密,具有不可逆性.但是如果你百度搜索"MD5破解" ...

最新文章

  1. python 打开 pip_python pip
  2. linux怎么调整运行模式,如何手动设置修改X-Window的显示模式-linux思想
  3. libsvm2.9数据格式
  4. flask+vue进阶
  5. 宝塔网设置伪静态进行隐藏php后缀名,nextcloud宝塔面板nginx伪静态-去除index.php
  6. python处理字符串效率_Python字符串搜索效率
  7. ajax带来的主要问题有哪些,ajax面试题
  8. Linux Command Line 解析
  9. Struts2请求处理的内部流程说明(版本一)
  10. log双线性模型log-bilinear model简单概括
  11. Xtrabackup安装以及应用
  12. Useful link
  13. GraphLab:新的面向机器学习的并行框架
  14. 手把手入门C语言—输入数组
  15. KMP复习之poj 3461 Oulipo
  16. 利用Python爬虫爬取淘宝商品做数据挖掘分析实战篇,超详细教程!
  17. 将Macbook的光驱位升级成SSD
  18. matlab径向基网络,MATLAB——径向基网络拟合曲线和分类
  19. unity产生阴影的几种方式
  20. Android Studio打不开,出现start failed的报错

热门文章

  1. 想要提升网站曝光率应避免哪些错误设置的出现?
  2. 浅析企业自助建站系统的特性
  3. eclipse新建一个java_Eclipse中新建一个java源文件的步骤
  4. java removeto_java.util.LinkedList.remove(int index)方法实例
  5. 修复Linux系统内核TCP漏洞,修复Linux TCP SACK PANIC 远程拒绝服务漏洞
  6. python 数组参数_在Python中获取数组作为GET查询参数
  7. SubBuilder使用
  8. tensorflow 实现逻辑回归——原以为TensorFlow不擅长做线性回归或者逻辑回归,原来是这么简单哇!...
  9. SQL group by底层原理——本质是排序,可以利用索引事先排好序
  10. SQL UNION 操作符