mirror of
https://github.com/Sevichecc/Urara-Blog.git
synced 2025-05-03 10:09:31 +08:00
1 line
No EOL
1.1 KiB
Text
1 line
No EOL
1.1 KiB
Text
import{asUTF8 as t,toHEX as n}from"worktop/buffer";function e(e,r){return crypto.subtle.digest(e,t(r)).then(n)}var r=e.bind(0,"MD5"),s=e.bind(0,"SHA-1"),a=e.bind(0,"SHA-256"),i=e.bind(0,"SHA-384"),u=e.bind(0,"SHA-512");function o(n,e,r){return crypto.subtle.importKey("raw",t(e),n,!1,r)}function H(t,n,e=!1){return crypto.subtle.generateKey(t,e,n)}function b(n,e,r){return crypto.subtle.sign(n,e,t(r))}function A(n,e,r,s){return crypto.subtle.verify(n,e,s,t(r))}function f(t,n){if(t.byteLength!==n.byteLength)return!1;let e=t.length,r=!1;for(;e-- >0;)t[e]!==n[e]&&(r=!0);return!r}async function c(n,e,r,s,a){let i=await o("PBKDF2",e,["deriveBits"]),u={name:"PBKDF2",salt:t(r),iterations:s,hash:n};return crypto.subtle.deriveBits(u,i,a<<3)}function y(t,n,e){return o({name:"HMAC",hash:t},n,["sign"]).then((t=>b("HMAC",t,e)))}var d=y.bind(0,"SHA-256"),l=y.bind(0,"SHA-384"),S=y.bind(0,"SHA-512");export{y as HMAC,d as HMAC256,l as HMAC384,S as HMAC512,r as MD5,c as PBKDF2,s as SHA1,a as SHA256,i as SHA384,u as SHA512,e as digest,H as keygen,o as keyload,b as sign,f as timingSafeEqual,A as verify}; |