n-crypto

加密解密模块

Usage no npm install needed!

<script type="module">
  import nCrypto from 'https://cdn.skypack.dev/n-crypto';
</script>

README

签名与验签&加密与解密

算法说明:签名算法MD5和RSA(RSA-SHA1),数据加密算法RSA(RSA_NO_PADDING,node > 0.10.0 && < 6.0.0),AES(aes-128-ecb),DES(des-ede3),返回base64格式数据。

Build Status via Travis CI Coverage Status


安装

npm install n-crypto

初始化

    var NCRYPTO = require('n-crypto');
    var nCrypto = new NCRYPTO({
        md5_key:'',//md5 key
        des_key:des_key:'',//des key,24个字符长度
        aes_key:aes_key:'',//aes key,16个字符长度
        merchant_pri_key:'',//rsa pri key
        npay_pub_key:'',//rsa pub  key
    })

API

sign

verify

encrypt

decrypt

生成签名的API:sign

var encryptJson = {
    name:"navy",
    version:"1.0",
    country:"中国",
    age:201509110233
}
var sign_type = 'MD5'
var signVal = nCrypto.sign(encryptJson,sign_type);
console.log(signVal);//加密后返回的加密串

验证签名API:verify

var encryptJson = {
    name:"navy",
    version:"1.0",
    country:"中国",
    age:201509110233
}
var sign_type = 'MD5';
var md5Sign = 'a12b2084d8c7297a25fcfe452af8257c';
var verifyResult =  nCrypto.verify(encryptJson,md5Sign,sign_type);
console.log(verifyResult);//boolean值,true表示验签成功,false表示验签失败

加密数据的API:encrypt

var encryptJson = {
    name:"navy",
    version:"1.0",
    country:"中国",
    age:201509110233
}
var sign_type = 'AES';//RSA(node>=0.12),AES,DES
var encryptData = nCrypto.encrypt(encryptJson,sign_type);//base64
console.log(encryptData);//加密后返回的base64加密串

解密数据的API:decrypt

var encryptJson = {
    name:"navy",
    version:"1.0",
    country:"中国",
    age:201509110233
}
var sign_type = 'AES';//RSA(node>=0.12),AES,DES
var decryptData = nCrypto.decrypt(encryptJson,sign_type);//原始字符串
console.log(decryptData);//加密后返回的base64加密串