Promise внутри фунции

Всем привет, решил создать простую фунцию для конвертации строки в SHA-256

function Hash(message) {
    const text_encoder = new TextEncoder();
    const data = text_encoder.encode(message);
    const message_digest =  crypto.subtle.digest("SHA-256", data);
    console.log(message_digest);
    const octets = new Uint8Array(message_digest);
    const  hex = [].map.call(octets, octet =>      octet.toString(16).padStart(2, "0")).join("");
    return  hex;
  }
hash=Hash("test");

И в итоге утыкнулся в промис crypto.subtle.digest();

Функция возвращает пустой результат. Как мне получить вместо промеса захешированную строку?


Ответы (1 шт):

Автор решения: Денис Степанов

async function Hash(message) {
    const text_encoder = new TextEncoder();
    const data = text_encoder.encode(message);
    const message_digest = await crypto.subtle.digest("SHA-256", data);
    const octets = new Uint8Array(message_digest);
    const  hex = [].map.call(octets, octet =>      octet.toString(16).padStart(2, "0")).join("");
    return  hex;
  }
const hash = Hash("test");
hash.then(console.log);

→ Ссылка