Perpustakaan Javascript Standar Crypto.
Pengembangan aktif cryptoJ telah dihentikan. Perpustakaan ini tidak lagi dipertahankan.
Saat ini, nodej, dan browser modern memiliki modul Crypto
asli. Versi cryptoJS terbaru sudah menggunakan modul crypto asli untuk pembuatan angka acak, karena Math.random()
tidak aman-kripto. Pengembangan cryptoj lebih lanjut akan menghasilkannya hanya menjadi pembungkus crypto asli. Oleh karena itu, pengembangan dan pemeliharaan telah dihentikan, sekarang saatnya untuk pergi untuk modul crypto
asli.
Persyaratan:
npm install crypto-js
Impor ES6 untuk Kasing Penggunaan Penandatanganan Panggilan API Khas:
import sha256 from 'crypto-js/sha256' ;
import hmacSHA512 from 'crypto-js/hmac-sha512' ;
import Base64 from 'crypto-js/enc-base64' ;
const message , nonce , path , privateKey ; // ...
const hashDigest = sha256 ( nonce + message ) ;
const hmacDigest = Base64 . stringify ( hmacSHA512 ( path + hashDigest , privateKey ) ) ;
Modular termasuk:
var AES = require ( "crypto-js/aes" ) ;
var SHA256 = require ( "crypto-js/sha256" ) ;
...
console . log ( SHA256 ( "Message" ) ) ;
Termasuk semua perpustakaan, untuk akses ke metode tambahan:
var CryptoJS = require ( "crypto-js" ) ;
console . log ( CryptoJS . HmacSHA1 ( "Message" , "Key" ) ) ;
Persyaratan:
bower install crypto-js
Modular termasuk:
require . config ( {
packages : [
{
name : 'crypto-js' ,
location : 'path-to/bower_components/crypto-js' ,
main : 'index'
}
]
} ) ;
require ( [ "crypto-js/aes" , "crypto-js/sha256" ] , function ( AES , SHA256 ) {
console . log ( SHA256 ( "Message" ) ) ;
} ) ;
Termasuk semua perpustakaan, untuk akses ke metode tambahan:
// Above-mentioned will work or use this simple form
require . config ( {
paths : {
'crypto-js' : 'path-to/bower_components/crypto-js/crypto-js'
}
} ) ;
require ( [ "crypto-js" ] , function ( CryptoJS ) {
console . log ( CryptoJS . HmacSHA1 ( "Message" , "Key" ) ) ;
} ) ;
< script type =" text/javascript " src =" path-to/bower_components/crypto-js/crypto-js.js " > </ script >
< script type =" text/javascript " >
var encrypted = CryptoJS . AES ( ... ) ;
var encrypted = CryptoJS . SHA256 ( ... ) ;
</ script >
Lihat: https://cryptojs.gitbook.io/docs/
var CryptoJS = require ( "crypto-js" ) ;
// Encrypt
var ciphertext = CryptoJS . AES . encrypt ( 'my message' , 'secret key 123' ) . toString ( ) ;
// Decrypt
var bytes = CryptoJS . AES . decrypt ( ciphertext , 'secret key 123' ) ;
var originalText = bytes . toString ( CryptoJS . enc . Utf8 ) ;
console . log ( originalText ) ; // 'my message'
var CryptoJS = require ( "crypto-js" ) ;
var data = [ { id : 1 } , { id : 2 } ]
// Encrypt
var ciphertext = CryptoJS . AES . encrypt ( JSON . stringify ( data ) , 'secret key 123' ) . toString ( ) ;
// Decrypt
var bytes = CryptoJS . AES . decrypt ( ciphertext , 'secret key 123' ) ;
var decryptedData = JSON . parse ( bytes . toString ( CryptoJS . enc . Utf8 ) ) ;
console . log ( decryptedData ) ; // [{id: 1}, {id: 2}]
crypto-js/core
crypto-js/x64-core
crypto-js/lib-typedarrays
crypto-js/md5
crypto-js/sha1
crypto-js/sha256
crypto-js/sha224
crypto-js/sha512
crypto-js/sha384
crypto-js/sha3
crypto-js/ripemd160
crypto-js/hmac-md5
crypto-js/hmac-sha1
crypto-js/hmac-sha256
crypto-js/hmac-sha224
crypto-js/hmac-sha512
crypto-js/hmac-sha384
crypto-js/hmac-sha3
crypto-js/hmac-ripemd160
crypto-js/pbkdf2
crypto-js/aes
crypto-js/tripledes
crypto-js/rc4
crypto-js/rabbit
crypto-js/rabbit-legacy
crypto-js/evpkdf
crypto-js/format-openssl
crypto-js/format-hex
crypto-js/enc-latin1
crypto-js/enc-utf8
crypto-js/enc-hex
crypto-js/enc-utf16
crypto-js/enc-base64
crypto-js/mode-cfb
crypto-js/mode-ctr
crypto-js/mode-ctr-gladman
crypto-js/mode-ofb
crypto-js/mode-ecb
crypto-js/pad-pkcs7
crypto-js/pad-ansix923
crypto-js/pad-iso10126
crypto-js/pad-iso97971
crypto-js/pad-zeropadding
crypto-js/pad-nopadding
Ubah algoritma hash default dan iterasi untuk pBKDF2 untuk mencegah keamanan yang lemah dengan menggunakan konfigurasi default.
Hasher KDF khusus
Dukungan blowfish
Perbaiki pesanan modul dalam rilis yang dibundel.
Sertakan bidang browser di paket yang dirilis.json.
Menambahkan varian URL aman dari encoding base64. 357
Hindari Webpack untuk menambahkan paket Crypto-Browser. 364
Ini adalah pembaruan termasuk perubahan perubahan untuk beberapa lingkungan.
Dalam versi ini Math.random()
telah digantikan oleh metode acak modul crypto asli.
Untuk alasan ini cryptoj mungkin tidak berjalan di beberapa lingkungan JavaScript tanpa modul crypto asli. Seperti IE 10 atau sebelum atau bereaksi asli.
Rollback, 3.3.0
sama dengan 3.1.9-1
.
Langkah menggunakan Modul Crypto Aman Asli akan digeser ke versi 4.xx
baru. Karena ini adalah perubahan yang melanggar, dampaknya terlalu besar untuk rilis kecil.
Penggunaan modul crypto asli telah diperbaiki. Impor dan akses modul crypto asli telah ditingkatkan.
Dalam versi ini Math.random()
telah digantikan oleh metode acak modul crypto asli.
Untuk alasan ini cryptojs mungkin tidak berjalan di beberapa lingkungan JavaScript tanpa modul crypto asli. Seperti IE 10 atau sebelumnya.
Jika itu mutlak diperlukan untuk menjalankan cryptojs di lingkungan seperti itu, tetap dengan versi 3.1.x
Mengenkripsi dan mendekripsi tetap kompatibel. Tetapi perlu diingat 3.1.x
versi masih menggunakan Math.random()
yang secara kriptografis tidak aman, karena tidak cukup acak.
Versi ini datang bersama dengan BUG
CRITICAL
.
Jangan gunakan versi ini! Tolong, pilih versi yang lebih baru!
3.1.x
didasarkan pada cryptoJs asli, dibungkus dengan modul CommonJS.