<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
        主站蜘蛛池模板: 欧洲精品成人免费视频在线观看| 国产免费无码AV片在线观看不卡| 99精品国产免费久久久久久下载| 亚洲精品美女在线观看播放| 久久免费观看国产精品| 久久亚洲国产视频| 性xxxx视频免费播放直播| 久久久久亚洲AV无码网站| 亚洲免费在线观看视频| 亚洲欧洲日本国产| 最近中文字幕mv免费高清视频7| 亚洲国产精品嫩草影院| 国产一级一片免费播放| 黄色三级三级三级免费看| 亚洲国产精品成人一区| 中国一级毛片免费看视频| 香蕉蕉亚亚洲aav综合| 国产h肉在线视频免费观看| 中文无码亚洲精品字幕| 免费人成在线观看网站品爱网日本| 日韩在线观看免费| 亚洲av中文无码乱人伦在线播放| 最近2018中文字幕免费视频| 亚洲人xxx日本人18| 五月婷婷亚洲综合| 在线观看免费播放av片| 亚洲国产成人久久三区| 四虎永久免费影院在线| 国产日韩在线视频免费播放| 久久夜色精品国产噜噜噜亚洲AV| 成年私人影院免费视频网站| 亚洲免费无码在线| 亚洲大香人伊一本线| 四虎影视精品永久免费网站| 久久精品无码精品免费专区| 国产亚洲精品bv在线观看| 亚洲人成网站色在线入口| 最近2019免费中文字幕视频三| 国产精品亚洲一区二区三区| 久久久久亚洲精品成人网小说| 久久WWW免费人成人片|