加密/解密库libsodium的一个JavaScript实现:libsodium.js
jopen
10年前
libsodium.js是C++加密/解密库libsodium的一个纯JavaScript实现。 它提供了一些易于在Web应用程序中使用的接口。整个库只有133 KB(缩小的,gzip压缩),并能在Web浏览器,以及服务器端运行。
<script> window.sodium = { onload: function(sodium) { alert(sodium.to_hex(sodium.crypto_generichash(64, 'test'))); }}; </script> ... <script src="sodium.js" async defer></script>
已实现的算法和功能列表:
- crypto_aead (ChaCha20-Poly1305)
- crypto_auth (SHA256, SHA512, and the default crypto_auth with SHA512/256)
- crypto_box
- crypto_generichash (Blake2b)
- crypto_hash (SHA512/256)
- crypto_pwhash (scrypt)
- crypto_scalarmult (Curve25519)
- crypto_secretbox
- crypto_shorthash (SipHash)
- crypto_sign (Ed25519)
- Ed25519->Curve25519 conversion
- randombytes
额外的帮助类
- from_base64(),to_base64()
- from_hex(),to_hex()
- memcmp()(constant-time comparison, returnstrueorfalse)
- memzero()(applies toUint8Arrayobjects)