🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.javascript
Article #50405

Re: Hashing library

#50405
From: Roman Tyczka
Date: Mon, 06 Aug 2018 14:41
46 lines
1670 bytes
On Fri, 3 Aug 2018 19:57:30 +0200, Borys Pogoreło wrote:

>> Jeszcze tylko dopytam, przy IE piszą, że od wersji 11 (czyli to co jest w
>> Win10), co z Win7, 8 i Vistą?
>
> IE11 chyba jest też na W7, na W8 na pewno.
>
> Jeszcze znalazłem coś takiego:
> https://github.com/vibornoff/webcrypto-shim
>
> Co do base64, to witamy w świecie javascriptu, gdzie zaczyna się cyrk, gdy
> w grę wchodzą dane binarne:
> https://developer.mozilla.org/en-US/docs/Web/API/WindowBase64/Base64_encoding_and_decoding#The_Unicode_Problem


Nim jeszcze dotarłem do base64 już się odbiłem od crypto.

Zrobiłem sobie metodę:

	SHA512 : function (str) {
		var buffer = new TextEncoder("utf-8").encode(str);
		var hash = crypto.subtle.digest("SHA-512", buffer);
		return Array.from(new Uint8Array(hash));
	},

i ona po prostu nie działa, zwraca pustą tablicę.
W ostatniej linii konwertuje na tablicę bajtów obiekt jaki zwraca metoda
digest(). Ale z nim coś jest nie teges, debuger pokazuje, że ma dwa
propertysy PromiseStatus: pending i PromiseValue : undefined.
Wyczytałem, że to jakieś proxy dla wartości wyliczanej asynchronicznie.
Skoro pending to coś się nie skończyło. Ale nie mam pojęcia jak z tego
wybrnąć.

Co robię nie tak?

ps. znalazłem jeszcze taki przykład:

https://gist.github.com/chrisveness/e5a07769d06ed02a2587df16742d3fdd

i w komentarzach ktoś napisał, że dostęp do crypto api jest ograniczony do
"secure origins". Czy to znaczy, że jeśli odpalam w przeglądarce stronę bez
SSLa (bo nie mam lokalnie żadnego certyfikatu) to może być przyczyną
niedziałania crypto api? Czy da się to obejść?

--
pozdrawiam
Roman Tyczka

Message-ID: <k8rs0fgtbu7s$.dlg@tyczka.com>
Path: polish.pugleaf.net!archive.newsdeef.eu!apf1.newsdeef.eu!news.usenet.farm!..!..!not-for-mail
References: <ja6kj9pynkt3$.dlg@tyczka.com> <8nfcmbsbq719.48va3s5uolyi$.dlg@40tude.net> <1xbx91tfkrzcf.dlg@tyczka.com> <1291u9tu6p6uq.1ihbayc0y8bmw.dlg@40tude.net>