国产99久久精品_欧美日本韩国一区二区_激情小说综合网_欧美一级二级视频_午夜av电影_日本久久精品视频

最新文章專題視頻專題問答1問答10問答100問答1000問答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當前位置: 首頁 - 科技 - 知識百科 - 正文

在C#中生成與PHP一樣的MD5 Hash Code的方法

來源:懂視網(wǎng) 責編:小采 時間:2020-11-27 22:39:02
文檔

在C#中生成與PHP一樣的MD5 Hash Code的方法

在C#中生成與PHP一樣的MD5 Hash Code的方法:最近在對一個現(xiàn)有的系統(tǒng)進行C#改造,該系統(tǒng)以前是用PHP做的,后臺的管理員登陸用的是MD5加密算法。在PHP中,要對一個字符串進行MD5加密非常簡單,一行代碼即可: 代碼如下:md5(Something you want to encrypt.) 直接調(diào)用md5()方法,然后將要
推薦度:
導讀在C#中生成與PHP一樣的MD5 Hash Code的方法:最近在對一個現(xiàn)有的系統(tǒng)進行C#改造,該系統(tǒng)以前是用PHP做的,后臺的管理員登陸用的是MD5加密算法。在PHP中,要對一個字符串進行MD5加密非常簡單,一行代碼即可: 代碼如下:md5(Something you want to encrypt.) 直接調(diào)用md5()方法,然后將要

最近在對一個現(xiàn)有的系統(tǒng)進行C#改造,該系統(tǒng)以前是用PHP做的,后臺的管理員登陸用的是MD5加密算法。在PHP中,要對一個字符串進行MD5加密非常簡單,一行代碼即可:
代碼如下:


md5("Something you want to encrypt.")

直接調(diào)用md5()方法,然后將要進行MD5加密的字符串傳進去,就可以得到返回的hash code。在C#中應該也會有對應的算法吧!對嗎?我首先嘗試了下面的代碼,結(jié)果得到的hash code和PHP不一樣。
代碼如下:

public static string MD5(string stringToHash)
{
return FormsAuthentication.HashPasswordForStoringInConfigFile(stringToHash, "md5");
}

所以,我們不得不借用C#的MD5CryptoServiceProvider對象自己寫代碼進行轉(zhuǎn)換。

1. 實例化MD5CryptoServiceProvider對象

2. 將字符串轉(zhuǎn)換成byte數(shù)組

3. 使用MD5CryptoServiceProvider對象的ComputeHash()方法將byte數(shù)組進行加密,返回轉(zhuǎn)換后的byte數(shù)組

4. 在講byte數(shù)組轉(zhuǎn)換成字符串之前,還需要對其進行遍歷并做如下轉(zhuǎn)換:

myByte.ToString("x2").ToLower()

然后,你才能得到和PHP中一樣的MD5 hash code。為什么在.NET中要這么麻煩,或許這也是為什么那么多的開發(fā)人員仍然熱衷于PHP開發(fā)的理由之一,每一門編程語言都有它自身的魅力,也都有它存在的意義!

基于上面的討論,完整的代碼如下:
代碼如下:


public static string MD5ForPHP(string stringToHash)
{
var md5 = new System.Security.Cryptography.MD5CryptoServiceProvider();
byte[] emailBytes = Encoding.UTF8.GetBytes(stringToHash.ToLower());
byte[] hashedEmailBytes = md5.ComputeHash(emailBytes);
StringBuilder sb = new StringBuilder();
foreach (var b in hashedEmailBytes)
{
sb.Append(b.ToString("x2").ToLower());
}
return sb.ToString();
}

或者,你也可以把上面的方法寫成一個C#擴展方法,只需要修改方法簽名即可。
代碼如下:

public static string MD5ForPHP(this String, string stringToHash)
{
// Your code here.
}

PHP程序和C#程序在許多方面都會涉及到格式之間的轉(zhuǎn)換,如果運行PHP的服務(wù)器是UNIX類型的,則還會存在日期格式之間的轉(zhuǎn)換。下面的兩個方法展示了如何將UNIX時間轉(zhuǎn)換成C# DateTime以及如何將C# DateTime轉(zhuǎn)換成UNIX時間。
代碼如下:

public static DateTime UnixTimeStampToDateTime(long unixTimeStamp)
{
// Unix timestamp is seconds past epoch
DateTime dtDateTime = new DateTime(1970, 1, 1, 0, 0, 0, 0, System.DateTimeKind.Utc);
return dtDateTime.AddSeconds(unixTimeStamp);
}

public static long DateTimeToUnixTimeStamp(DateTime datetime)
{
TimeSpan span = (datetime - new DateTime(1970, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc));
return (long)span.TotalSeconds;
}

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

在C#中生成與PHP一樣的MD5 Hash Code的方法

在C#中生成與PHP一樣的MD5 Hash Code的方法:最近在對一個現(xiàn)有的系統(tǒng)進行C#改造,該系統(tǒng)以前是用PHP做的,后臺的管理員登陸用的是MD5加密算法。在PHP中,要對一個字符串進行MD5加密非常簡單,一行代碼即可: 代碼如下:md5(Something you want to encrypt.) 直接調(diào)用md5()方法,然后將要
推薦度:
標簽: php 一樣 md5
  • 熱門焦點

最新推薦

猜你喜歡

熱門推薦

專題
Top
主站蜘蛛池模板: 国产在线观看精品一区二区三区91 | 亚洲精品乱码久久久久久 | 久久伊人在 | 欧美色图在线观看 | 日韩在线二区 | 九九操视频 | 国内精品久久久久 | 欧美日韩一二 | 国产一区二区三区在线看 | 亚洲午夜电影 | 91精品国产乱码久久久久久 | 欧美一区二区三区四区视频 | 在线精品欧美日韩 | 欧美亚洲电影 | 国内精品1区1区3区4区 | 欧美第一页在线 | 欧美高清视频在线观看 | 国产精品免费观看视频播放 | 国产在线不卡视频 | 久久久久久国产a免费观看黄色大片 | 精品欧美一区手机在线观看 | 日韩三级一区二区 | 亚洲精品国产精品精 | 中文在线字幕 | 久久精品a国产一级 | 一本久久精品一区二区 | 中文字幕一区二区三区四区 | 俄罗斯女人禽交zozo | 久久久久久久久国产 | 亚洲国产成人久久综合碰碰动漫3d | 日韩欧美综合 | 久久久久国产精品美女毛片 | 国产在线精品一区二区 | 欧美亚洲另类视频 | 五月婷婷丁香 | 精品免费在线 | 久久久一区二区三区不卡 | 国产高清在线观看 | 国产夫妻精品 | 国产 欧美 日韩 在线 | 全免费a级毛片免费毛视频 热re91久久精品国产91热 |