美文网首页
thinkjs ---- nodejs rsa 加密解密

thinkjs ---- nodejs rsa 加密解密

作者: 无我_a50f | 来源:发表于2020-06-13 11:38 被阅读0次

web 客户端

import JSEncrypt from 'jsencrypt/bin/jsencrypt.min';
const encrypted = new JSEncrypt();
encrypted.setPublicKey(`-----BEGIN PUBLIC KEY-----${window.ENV.publicKey}-----END PUBLIC KEY-----`);
encrypted.encrypt('加密的数据');

nodejs 服务端

const NodeRSA = require('node-rsa');
const decrypt = new NodeRSA('-----BEGIN RSA PRIVATE KEY-----私钥串-----END RSA PRIVATE KEY-----');
// 查看 https://github.com/rzcoder/node-rsa/issues/91
decrypt.setOptions({encryptionScheme: 'pkcs1'});
decrypt.decrypt('解密的字符串');

附录:
thinkjs 中间件中获取post 数据 middleware/payload.js

const _ = require('lodash');
const NodeRSA = require('node-rsa');
const decrypt = new NodeRSA(think.config('custom.privateKey'));
// 查看 https://github.com/rzcoder/node-rsa/issues/91
decrypt.setOptions({encryptionScheme: 'pkcs1'});

module.exports = (options, app) => {
    return async(ctx, next) => {
        if(ctx.header['content-type'] == 'application/json'){
            let postData = await new Promise((resolve, reject) => {
                try {
                    let str = "";
                    ctx.req.on("data", chunk => {
                        str += chunk;
                    });
                    ctx.req.on("end", data => {
                        console.log(str);
                        resolve(str);
                    });
                } catch (e) {
                    reject(e);
                }
            });

            _.forEach(JSON.parse(postData), (item, key) => {
                ctx.post(key, decrypt.decrypt(item, 'utf-8'));
            });
        }

        return next();
    }
}

相关文章

  • thinkjs ---- nodejs rsa 加密解密

    web 客户端 nodejs 服务端 附录:thinkjs 中间件中获取post 数据 middleware/pa...

  • RSA加密方式

    RSA加密方式 获取RSA密钥 加密 解密 js库

  • kotlin版本RSA非对称加密解密与分段加密解密

    基于kotlin语言的RSA非对称加密解密与分段加密解密 RSA非对称加密 RSA非对称加密的具体算法与来源我就不...

  • nodejs rsa加密,lua rsa解密

    一、私钥和公钥是要换行的,如果换行丢了,必然会解密失败,对比如下一个正确的公钥,一个错误的公钥 正确的: 错误的:...

  • python操作RSA加密解密

    python操作RSA加密解密

  • Rsa加解密

    /*** Rsa 加解密* 用法:* (1)公钥加密,私钥解密* (2)私钥加密,公钥解密*/class ...

  • RSA加解密学习笔记

    RSA加解密简单说明: RSA是非对称加密方式,就是说加密解密不是同一个Key。私钥加密公钥解密,待加密的明文字节...

  • RSA加密

    RSA加密为非对称加密实现 对称加密:加密解密使用同一个算法 非对称加密:加密和解密使用不同算法 rsa加密原理 ...

  • C# RSA加解密和MD5加密

    1.RSA加密 2.RSA解密 3.RSA签名 RSA签名验签 4.MD5加密

  • android RSA PKCS1 # PKCS8

    最近服务器调整加密,由RSA 加密 ,AES 解密 。修改为RSA 公钥加密 ,私钥解密。密钥是与服务器同步。每次...

网友评论

      本文标题:thinkjs ---- nodejs rsa 加密解密

      本文链接:https://www.haomeiwen.com/subject/cpyatktx.html