Показать сообщение отдельно
  #2 (permalink)  
Старый 11.05.2019, 18:46
Аватар для Malleys
Профессор
Отправить личное сообщение для Malleys Посмотреть профиль Найти все сообщения от Malleys
 
Регистрация: 20.12.2009
Сообщений: 1,714

Сообщение от Castromen
.then(hash => {
    })
У вас получается тип Promise<undefined>

У вас вычисляется скорей UID, чем hash!

async function sha256(message) {
	const encoder = new TextEncoder();
	const data = encoder.encode(message);
	return crypto.subtle.digest("SHA-256", data).then(hexString);
}

function hexString(buffer) {
	const byteArray = new Uint8Array(buffer);

	const hexCodes = [...byteArray].map(value => {
		const hexCode = value.toString(16);
		return hexCode.padStart(2, "0");
	});

	return hexCodes.join("");
}

function getUID(p1) {
	let text = "";
	let possible = "abcdefghijklmnopqrstuvwxyz1234567890+=-/!?";
	for (let i = 0; i < 8; i++) text += possible.charAt(Math.floor(Math.random() * possible.length));
	return sha256(p1 + text).catch(error => { console.log("Ошибка получение UID"); });
}

function getHash(p1) {
	return sha256(p1 + "/7re!t4+").catch(error => { console.log("Ошибка получение Hash"); });
}

(async function main() {
	console.log("Hash", await getHash('Test'));
	console.log("Hash", await getHash('Test'));

	console.log("UID", await getUID('Test'));
	console.log("UID", await getUID('Test'));
})();
Ответить с цитированием