小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

OAuth協(xié)議中的HMAC_SHA1算法

 實(shí)力決定地位 2012-03-30
 本人抄襲一篇java進(jìn)行改變成C#的。。運(yùn)行結(jié)構(gòu)完全和java一樣所以證明完全沒(méi)有問(wèn)題。。盡心的用
public static byte[] getHmacSHA1(String data, String key)
        {

            byte[] ipadArray = new byte[64];
            byte[] opadArray = new byte[64];
            byte[] keyArray = new byte[64];
            System.Security.Cryptography.SHA1 sha1 = new System.Security.Cryptography.SHA1CryptoServiceProvider();

           // SHA1 sha1 = null;
            int ex = key.Length;
            if (key.Length > 64)
            {
                byte[] temp = sha1.ComputeHash(strToToHexByte(key));
                ex = temp.Length;
                for (int i = 0; i < ex; i++)
                {
                    keyArray[i] = temp[i];
                }
            }
            else
            {
                byte[] temp = strToToHexByte(key);
                for (int i = 0; i < temp.LongLength; i++)
                {
                    keyArray[i] = temp[i];
                }
            }

            for (int i = ex; i < 64; i++)
            {
                keyArray[i] = 0;
            }
            for (int j = 0; j < 64; j++)
            {
                ipadArray[j] = (byte)(keyArray[j] ^ 0x36);
                opadArray[j] = (byte)(keyArray[j] ^ 0x5C);
            }
            byte[] tempResult = sha1.ComputeHash(join(ipadArray, strToToHexByte(data)));

            return sha1.ComputeHash(join(opadArray, tempResult));

 

        }

        private static byte[] join(byte[] b1, byte[] b2)
        {
            int length = b1.Length + b2.Length;
            byte[] newer = new byte[length];
            for (int i = 0; i < b1.LongLength; i++)
            {
                newer[i] = b1[i];
            }
            for (int i = 0; i < b2.LongLength; i++)
            {
                newer[i + b1.LongLength] = b2[i];
            }
            return newer;
        }
調(diào)用的時(shí)候轉(zhuǎn)換成base64
byte[] sb= HMAC_SHA1.getHmacSHA1("456", "123");
Convert.ToBase64String(sb).
輸出結(jié)果:arl7onB4MoLePp7oTLNSrhxAOWw=

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多