<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答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
        當(dāng)前位置: 首頁 - 科技 - 知識百科 - 正文

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

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

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

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

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


        md5("Something you want to encrypt.")

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

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

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

        1. 實例化MD5CryptoServiceProvider對象

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

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

        4. 在講byte數(shù)組轉(zhuǎn)換成字符串之前,還需要對其進(jì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)進(jìn)行C#改造,該系統(tǒng)以前是用PHP做的,后臺的管理員登陸用的是MD5加密算法。在PHP中,要對一個字符串進(jìn)行MD5加密非常簡單,一行代碼即可: 代碼如下:md5(Something you want to encrypt.) 直接調(diào)用md5()方法,然后將要
        推薦度:
        標(biāo)簽: php 一樣 md5
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 国产免费久久精品| 亚洲视频在线不卡| 精品一卡2卡三卡4卡免费视频| 亚洲男女一区二区三区| 九月婷婷亚洲综合在线| 免费v片在线观看视频网站| 国产成人无码免费网站| 亚洲一线产区二线产区区| 亚洲AV中文无码乱人伦下载| 国产高清免费的视频| 免费成人激情视频| 青青在线久青草免费观看| 国产99视频精品免费专区| 美女露隐私全部免费直播| 亚洲乱码一区av春药高潮| 亚洲性猛交XXXX| 国产免费观看网站| www亚洲一级视频com| 亚洲片国产一区一级在线观看 | 亚洲精品高清视频| 亚洲人成网站观看在线播放| 国产成人精品免费视频大全麻豆 | 亚洲美国产亚洲AV| 亚洲成aⅴ人片在线影院八| 亚洲AV午夜成人影院老师机影院| 亚洲AV永久无码精品成人| 亚洲福利一区二区精品秒拍| 色婷五月综激情亚洲综合| 自怕偷自怕亚洲精品| 亚洲成电影在线观看青青| 亚洲色大情网站www| 免费人成大片在线观看播放| 亚洲AV成人精品一区二区三区| 亚洲AV无码一区二区三区牛牛| 亚洲一本之道高清乱码| 亚洲理论在线观看| 亚洲国产AV一区二区三区四区| 一本色道久久88亚洲精品综合| 国产午夜亚洲精品不卡| 免费在线观看亚洲| 免费视频成人手机在线观看网址|