MD5加密相关

demo效果

Md5类

其中有一个引用   using System.Security.Cryptography;

using System;
using System.Collections.Generic;
using System.Linq;
using System.Security.Cryptography;
using System.Text;
using System.Threading.Tasks;

namespace MD5加密
{
   public class MD5Fun
    {
       /// <summary>
       /// 加密字符串
       /// </summary>
       /// <param name="iptStr"></param>
       /// <returns></returns>
       public static string encryStr(string iptStr)
       {
           using (MD5 md5Hash = MD5.Create())
           {
             return  MD5Fun.GetMd5Hash(md5Hash,iptStr);
           }
       }

       /// <summary>
       /// 字符串构建
       /// </summary>
       /// <param name="md5Hash"></param>
       /// <param name="input"></param>
       /// <returns></returns>
       public static string GetMd5Hash(MD5 md5Hash,string input)
       {
           byte[] data = md5Hash.ComputeHash(Encoding.UTF8.GetBytes(input));

           StringBuilder sBuilder = new StringBuilder();

           for (int i = 0; i < data.Length;i++ )
           {
               sBuilder.Append(data[i].ToString("x2"));
           }
           return sBuilder.ToString();
       }

       /// <summary>
       /// 将给定的字符串按照指定的MD5格式装换后,与给定的密文进行比较
       /// </summary>
       /// <param name="md5Hash"></param>
       /// <param name="input"></param>
       /// <param name="hash"></param>
       /// <returns></returns>
       public static bool VerifyMd5Hash(MD5 md5Hash,string input,string hash)
       {
           string hashOfInput = GetMd5Hash(md5Hash,input);

           //OrdinalIgnoreCase  忽略大小写进行较
           StringComparer comparer = StringComparer.OrdinalIgnoreCase;

           // Compare  相同返回0,不同返回1
           var result = comparer.Compare(hashOfInput, hash);
           if (0 == comparer.Compare(hashOfInput, hash))
           {
               return true;
           }
           else
           {
               return false;
           }
       }

       /// <summary>
       /// 比较字符串加密后  与给定的密文是否相同
       /// </summary>
       /// <param name="str"></param>
       /// <param name="md5Str"></param>
       /// <returns></returns>
       public static bool validateStr(string str,string md5Str)
       {
          using(MD5 md5Hash = MD5.Create())
          {
              if (VerifyMd5Hash(md5Hash, str, md5Str))
              {
                  return true;
              }
              else
              {
                  return false;
              }
          }
       }
    }
}
时间: 2024-08-06 20:01:06

MD5加密相关的相关文章

iOS之那几种加密 MD5加密.

前言: 好好活着,因为我们会死很久.---海腾 iOS之那几种加密 MD5加密.  接下来我们看代码 NSString+MD5.h   // // NSString+MD5.h // UI21_MD5加密 // // Created by JR_Rafael on 16/1/11. // Copyright © 2016年 lanou3g. All rights reserved. // #import <Foundation/Foundation.h> @interface NSString

android环境下两种md5加密方式

在平时开发过程中,MD5加密是一个比较常用的算法,最常见的使用场景就是在帐号注册时,用户输入的密码经md5加密后,传输至服务器保存起来.虽然md5加密经常用,但是md5的加密原理我还真说不上来,对md5的认知目前仅仅停留在会使用的水平,想搞清楚还是要花点时间的,这是md5加密算法的相关介绍.本文主要介绍android平台下两种md5加密方式,分别为基于java语言的md5加密及ndk环境下基于c语言的md5加密. 下面代码为基于java语言的md5加密: public String getMD5

ios开发Base64编码以及加密相关学习

一:.Base64补充 ```objc 1.Base64简单说明 描述:Base64可以成为密码学的基石,非常重要. 特点:可以将任意的二进制数据进行Base64编码 结果:所有的数据都能被编码为并只用65个字符就能表示的文本文件. 65字符:A~Z a~z 0~9 + / = 对文件进行base64编码后文件数据的变化:编码后的数据~=编码前数据的4/3,会大1/3左右. 2.命令行进行Base64编码和解码 编码:base64 123.png -o 123.txt 解码:base64 123

Oracle中的MD5加密

作者:iamlaosong 因为要用到MD5加密,所以在网上搜了一下相关资料,并进行仔细研究.其核心就是MD5编码的数据包函数:DBMS_OBFUSCATION_TOOLKIT.MD5,这里涉及到RAW类型,其实就是原始的代码值. MD5加密的结果就是16个byte值,也就是是RAW类型,是显示不出来的,要正确显示,需要经过Utl_Raw.Cast_To_Raw转换,这个函数的作用是将每个字节的ASCII码值用字符表示出来.为了说明清楚,举例如下:假定一个字节的二进制值是0100 0001,十六

Linux下使用MD5加密BASE64加密

这里以字符串123456为例子,它的md5密文值为:e10adc3949ba59abbe56e057f20f883e 这里以1.txt为需要被加密的文件. 一. 用oppnssl md5 加密字符串和文件的方法. 1. oppnssl md5 加密字符串的方法 a.手动输入命令及过程如下: #openssl //在终端中输入openssl后回车. OpenSSL> md5 //输入md5后回车 123456 //接着输入123456,不要输入回车.然后按3次ctrl+d. 123456e10ad

java实现md5加密

MD5的全称是Message-Digest Algorithm 5(信息-摘要算法),在90年代初由MIT Laboratory for Computer Science和RSA Data Security Inc的Ronald L. Rivest开发出来,经MD2.MD3和MD4发展而来. 一.使用md5加密密码 我们先用java去实现md5加密密码,再去研究一下md5的原理以及他的优缺点. 1.新建MD5.java文件 package com.creditease.bixin.common.

Jmeter实现MD5加密

本文讲的是Jmeter实现MD5加密, 在我们使用Jmeter测试的过程中,尤其是接口测试,有时候需要对参数进行MD5加密后再进行操作. Jmeter自带的就有MD5加密需要使用的到的jar(注意jmeter版本):commons-codec-1.10.j 在我们使用Jmeter测试的过程中,尤其是接口测试,有时候需要对参数进行MD5加密后再进行操作. Jmeter自带的就有MD5加密需要使用的到的jar(注意jmeter版本):commons-codec-1.10.jar,在jmeter的li

MD5加密及Hash长度拓展攻击【通俗易懂】

先放一个简单点的利用了Hash长度拓展攻击的题目 if($COOKIE["getmein"] === md5($secret . urldecode($username . $password))) { echo "Congratulations! You are a registered user.\n"; die ("The flag is ". $flag); } 在理解Hash长度拓展攻击之前需要大致了解下MD5的加密原理 MD5加密过程

255.Spring Boot+Spring Security:使用md5加密

说明 (1)JDK版本:1.8 (2)Spring Boot 2.0.6 (3)Spring Security 5.0.9 (4)Spring Data JPA 2.0.11.RELEASE (5)hibernate5.2.17.Final (6)MySQLDriver 5.1.47 (7)MySQL 8.0.12 需求缘起 很多时候,我们自己已经有现成的一套系统在运行了,这时候要接入spring security的话,那么难免会碰到一个问题:就是自己设计的密码加密方式和spring secur