.NET Core MD5加密 32位和16位

摘要:
PublicclassMD5Help{//此代码示例创建一个适用于任何MD5哈希函数(在任何平台上)的哈希字符串,并创建一个32个字符的十六进制格式哈希字符串。官方网站大小写为/////获取32位MD5加密////要解密的字符串//publicst
public class MD5Help
{
  //此代码示例通过创建哈希字符串适用于任何 MD5 哈希函数 (在任何平台) 上创建 32 个字符的十六进制格式哈希字符串官网案例改编
  /// <summary>
  ///获取32位md5加密
  /// </summary>
  /// <param name="source">待解密的字符串</param>
  /// <returns></returns>
  public static string Get32MD5(string source)
  {
    using (MD5 md5Hash = MD5.Create())
    {
      byte[] data = md5Hash.ComputeHash(Encoding.UTF8.GetBytes(source + MD5Key));
      StringBuilder sBuilder = new StringBuilder();
      for (int i = 0; i < data.Length; i++)
      {
      sBuilder.Append(data[i].ToString("x2"));
      }

      string hash = sBuilder.ToString();
      return hash.ToUpper();
    }
  }
  //这样容易解的密码变的更难解=无解   
static string MD5Key = "YI0EPm!*Af";   /// <summary>   /// 获取16位md5加密   /// </summary>   /// <param name="source">待解密的字符串</param>   /// <returns></returns>   public static string Get16MD5(string source)   {     using (MD5 md5Hash = MD5.Create())     {       byte[] data = md5Hash.ComputeHash(Encoding.UTF8.GetBytes(source + MD5Key));       //转换成字符串,并取9到25位       string sBuilder = BitConverter.ToString(data, 4, 8);       //BitConverter转换出来的字符串会在每个字符中间产生一个分隔符,需要去除掉       sBuilder = sBuilder.Replace("-", "");       return sBuilder.ToString().ToUpper();     }   } }

原文地址:https://www.cnblogs.com/oorz/p/8878491.html

免责声明:文章转载自《.NET Core MD5加密 32位和16位》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇linux重新安装python火狐浏览器安装 Modify Headers 插件下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Java从入门到实战之(26)Java网络实例之练习

1、获取指定主机的IP地址 如何使用 InetAddress 类的 InetAddress.getByName() 方法来获取指定主机(网址)的IP地址? package Java_Learn.File; import java.net.InetAddress; import java.net.UnknownHostException; public...

.net core使用Apollo做统一配置管理

做开发这么多年,经常因配置的问题引发生产环境的bug。有些年久的项目,几百个密密麻麻的配置项,经常容易搞混,有时好几个项目有好多同样的配置项,配置工作也不厌其烦。所幸,携程开源了新一代配置中心 - Apollo项目,最近在项目中使用了一段时间,感觉确实方便不少。 首先本地搭建Apollo,请参照官网资料https://github.com/ctripcor...

android界面布局

(一)LinearLayout界面编排模式 他的格式是按照线性顺序,由上往下或右左往右,逐一排列界面组件。 layout_中的“match_parent”表示要填满他所在的外框,而“wrap_content”表示它的大小只要满足内部所包含的界面组件即可。 android:orientation:“horizontal”表示排列方式为水平,而“vertica...

Scala学习2——idea配置scala环境,scala初步学习

了解Scala 使用Java Decompiler反编译字节码到.class源文件可以看到引入Scala库的逻辑。并且: scala源文件中的HelloScala对象编译后成为了一个类,但对象本身编译后就是生成的另一个类HelloScala$类的单例对象HelloScala$.MODULE$,称之为伴生对象。 HelloScala$有一个main实例方...

halcon+csharp多图像拼接实现

简单的来说,就是将 一类的图片最后拼接成为这样的结果 这个图片有点大呀。 基本步骤: 1、halcon进行仿射变化进行镜头畸变。这个可以参考halcon中一个二维码畸变的例子; 2、基于模版匹配找出偏移值,然后进行拼接。这个可以参考halcon中一个拼接的例子; 3、对交接处进行融合,这个是本文的关键。 首先,这个融合halcon中是没有方法的,所以要...

Android编程获取手机型号,本机*,sdk版本号及firmware版本号号(即系统版本号号)

Android开发平台中,可通过TelephonyManager 获取本机号码。 TelephonyManager phoneMgr=(TelephonyManager)this.getSystemService(Context.TELEPHONY_SERVICE); txtPhoneNumber.setText(phoneMgr.getLine1Num...