client-crypto
Version:
Javascript Crypto Library for browser
52 lines (51 loc) • 1.73 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
var pandora_jsencrypt_1 = __importDefault(require("pandora-jsencrypt"));
exports.default = {
/**
* 加密
* @param plaintext 明文
* @param publicKey 公钥
*/
encrypt: function (plaintext, publicKey) {
// 公钥
var PUBLIC_KEY = publicKey;
//使用公钥加密
var encrypt = new pandora_jsencrypt_1.default();
encrypt.setPublicKey('-----BEGIN PUBLIC KEY-----' + PUBLIC_KEY + '-----END PUBLIC KEY-----');
var encryptedStr = encrypt.encrypt(plaintext);
return encryptedStr;
},
/**
* 解密
* @param message 密文
* @param privateKey 私钥
*/
decrypt: function (message, privateKey) {
//私钥
var PRIVATE_KEY = privateKey;
//使用私钥解密
var decrypt = new pandora_jsencrypt_1.default();
decrypt.setPrivateKey('-----BEGIN RSA PRIVATE KEY-----' + PRIVATE_KEY + '-----END RSA PRIVATE KEY-----');
var decryptedMsg = decrypt.decrypt(message);
return decryptedMsg;
},
/**
* 加密
* padding: OAEP and oaepHash: sha256
* @param plaintext 明文
* @param publicKey 公钥
*/
encryptOAEP: function (plaintext, publicKey) {
// 公钥
var PUBLIC_KEY = publicKey;
//使用公钥加密
var encrypt = new pandora_jsencrypt_1.default();
encrypt.setPublicKey(PUBLIC_KEY);
var encryptedStr = encrypt.encryptOAEP(plaintext);
return encryptedStr;
},
};