久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

如何在 JS 中獲取 CryptoJS.HmacSHA256 的摘要表示

How to get digest representation of CryptoJS.HmacSHA256 in JS(如何在 JS 中獲取 CryptoJS.HmacSHA256 的摘要表示)
本文介紹了如何在 JS 中獲取 CryptoJS.HmacSHA256 的摘要表示的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!

問題描述

我必須在摘要中生成 CryptoJS.HmacSHA256 的字符串表示(字節表示).

I have to generate string representation of CryptoJS.HmacSHA256 in digest (bytes representation).

我需要它,因為我必須復制在 javascript 中生成此類摘要的 python 代碼:

I need it because i have to duplicate python code which generate such digest in javascript:

print hmac.new("secret", "test", hashlib.sha256).digest()

')?kb??>?y+??????:?oΚ??H?   '

目標是在 javascript 中復制上述代碼的行為.

The goal is to duplicate behaviour of code above in javascript.

你能建議我怎么做嗎?

推薦答案

如果您需要原始字節,那么 CryptoJS 似乎沒有為它提供代碼.提到這是因為Uint8Array和朋友缺乏跨瀏覽器兼容性.

If you need raw bytes then CryptoJS does not seem to supply code for it. It is mentioned that this is because of lack of cross browser compatibility for Uint8Array and friends.

但是,經過搜索,我確實找到了一些由 Vincenzo Ciancia 創建的轉換代碼:

However, after searching, I did find some conversion code created by Vincenzo Ciancia:

CryptoJS.enc.u8array = {
    /**
     * Converts a word array to a Uint8Array.
     *
     * @param {WordArray} wordArray The word array.
     *
     * @return {Uint8Array} The Uint8Array.
     *
     * @static
     *
     * @example
     *
     *     var u8arr = CryptoJS.enc.u8array.stringify(wordArray);
     */
    stringify: function (wordArray) {
        // Shortcuts
        var words = wordArray.words;
        var sigBytes = wordArray.sigBytes;

        // Convert
        var u8 = new Uint8Array(sigBytes);
        for (var i = 0; i < sigBytes; i++) {
            var byte = (words[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff;
            u8[i]=byte;
        }

        return u8;
    },

    /**
     * Converts a Uint8Array to a word array.
     *
     * @param {string} u8Str The Uint8Array.
     *
     * @return {WordArray} The word array.
     *
     * @static
     *
     * @example
     *
     *     var wordArray = CryptoJS.enc.u8array.parse(u8arr);
     */
    parse: function (u8arr) {
        // Shortcut
        var len = u8arr.length;

        // Convert
        var words = [];
        for (var i = 0; i < len; i++) {
            words[i >>> 2] |= (u8arr[i] & 0xff) << (24 - (i % 4) * 8);
        }

        return CryptoJS.lib.WordArray.create(words, len);
    }
};

當然請注意,字節不會直接轉換為字符;你不能使用文本比較來比較 ') kb > y+ : oΚ H ' 由 python 生成.為此,您確實需要一個編碼器,例如十六進制或 base 64.在這種情況下,請查看 來自Artjom 代替.

Note of course that bytes don't translate directly to characters; you cannot use a text compare to compare against ')?kb??>?y+??????:?oΚ??H? ' generated by python. For that you do need an encoder such as hexadecimals or base 64. In that case please look at the answer from Artjom instead.

這篇關于如何在 JS 中獲取 CryptoJS.HmacSHA256 的摘要表示的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網!

【網站聲明】本站部分內容來源于互聯網,旨在幫助大家更快的解決問題,如果有圖片或者內容侵犯了您的權益,請聯系我們刪除處理,感謝您的支持!

相關文檔推薦

Using discord.js to detect image and respond(使用 discord.js 檢測圖像并響應)
Check if user ID exists in Discord server(檢查 Discord 服務器中是否存在用戶 ID)
Guild Member Add does not work (discordjs)(公會成員添加不起作用(discordjs))
Creating my first bot using REPLIT but always error Discord.JS(使用 REPLIT 創建我的第一個機器人,但總是錯誤 Discord.JS)
How do I code event/command handlers for my Discord.js bot?(如何為我的 Discord.js 機器人編寫事件/命令處理程序?)
How to find a User ID from a Username in Discord.js?(如何從 Discord.js 中的用戶名中查找用戶 ID?)
主站蜘蛛池模板: 日韩在线视频一区 | 国产精品mv在线观看 | 亚洲成人99| 日韩久久精品视频 | 欧美综合一区 | 羞羞视频免费在线观看 | 91久久久久久久久久久久久 | 国产一区二区日韩 | 天天影视网天天综合色在线播放 | www.国产| 五月激情婷婷六月 | 欧美视频免费在线 | 日本三级在线 | 国产一区二区三区在线免费观看 | 中文字幕 在线观看 | 2022精品国偷自产免费观看 | 欧美自拍第一页 | 久久精品亚洲精品国产欧美 | 人妖av| 免费一二区 | 久久精品aaa | 日韩欧美精品在线 | 国产区高清| 91av免费版 | 国产精品免费一区二区三区四区 | 日本三级电影免费 | 免费亚洲婷婷 | 日日拍夜夜 | 伊人手机在线视频 | 欧美视频精品 | 亚洲精品视频在线播放 | 97精品久久 | 精品国产精品 | 日日摸日日添日日躁av | 日韩一区二区在线播放 | 精品久久久久久久 | 亚洲欧美中文日韩在线v日本 | 成人综合视频在线观看 | 三级av在线| 久久国产欧美一区二区三区精品 | 久久青视频 |