V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
推荐关注
Meteor
JSLint - a JavaScript code quality tool
jsFiddle
D3.js
WebStorm
推荐书目
JavaScript 权威指南第 5 版
Closure: The Definitive Guide
pinocc012

请教 JSEncrypt.js 的一个代码问题

  •  
  •   pinocc012 · Oct 2, 2024 · 2328 views
    This topic created in 571 days ago, the information mentioned may be changed or developed.
    var jse = new JSEncrypt();
    var pk ='MFswDQYJKoZIhvcNAQEBBQADSgAwRwJA4eeQZu0GkgzXYypfcKRxRiclJC0Q5A5+T+EXcSpcaZlq/eMyy4oJIUfvYsCsvIhAENB2YCTVmdLjWeHbSPXKJQIDAQAB';
    jse.setPublicKey(pk);
    console.log(jse.getPublicKeyB64());

    结果输出是 MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAOHnkGbtBpIM12MqX3CkcUYnJSQtEOQOfk/hF3EqXGmZav3jMsuKCSFH72LArLyIQBDQdmAk1ZnS41nh20j1yiUCAwEAAQ==

    key 竟然变了,请问是 JSEncrypt 内部做了啥转换?
    2 replies    2024-10-08 16:20:40 +08:00
    lisongeee
        1
    lisongeee  
       Oct 2, 2024
    好奇为什么不自己直接看源码 https://github.com/travist/jsencrypt/tree/master/lib

    pk 并没有原样保存,而是内部自己转换了,转换的过程就在源码里
    zhhbstudio
        2
    zhhbstudio  
       Oct 8, 2024
    因为你是 setPubliclicKey getPublicKey"B64" 啊,方法名也不是对称的

    转换的位置: https://github.com/travist/jsencrypt/blob/master/lib/JSEncryptRSAKey.js#L78
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5669 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 47ms · UTC 09:00 · PVG 17:00 · LAX 02:00 · JFK 05:00
    ♥ Do have faith in what you're doing.