【问题标题】:Using asymmetric algorithm in angular在角度中使用非对称算法
【发布时间】:2018-04-25 07:38:22
【问题描述】:

我需要在客户端对大型 JSON 文件应用非对称加密,以将它们传输到云端。这些文件可以包含 base64 格式的图像。我正在使用 Angular-cli 并尝试使用库 crypto-browserify 但无法加密大文件。然后我尝试了 node-rsa 库,我的程序在控制台中运行,但在 Angular 中无法运行。

const NodeRSA = require('node-rsa');

let key = new NodeRSA('-----BEGIN PUBLIC KEY-----\n'+
                      '-----END PUBLIC KEY-----');

let f = '{"data":"data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAA ..."}';

let encrypt_data = key.encrypt(f, 'base64');
console.log(encrypt_data);

【问题讨论】:

    标签: node.js angular encryption


    【解决方案1】:

    通过browserify使用node-rsa找到了解决方案:

    browserify -r node-rsa --standalone CryptRSA > rsa-brow.js

    然后添加到index.html

    <script src="assets/js/rsa-brow.js"></script>
    

    然后在 Angular 中使用

    declare var CryptRSA: any;
    
    @Injectable()
    export class MyService {
    
        encrypt(file_content: string){
           let key = new CryptRSA(publicKey);
           let buffer = Buffer.from(file_content, 'utf-8');
           return key.encrypt(buffer, 'base64');
        }
    }

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-12-10
      • 2019-08-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-06-02
      相关资源
      最近更新 更多