V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐关注
Meteor
JSLint - a JavaScript code quality tool
jsFiddle
D3.js
WebStorm
推荐书目
JavaScript 权威指南第 5 版
Closure: The Definitive Guide
BBrother
V2EX  ›  JavaScript

怎么用 python 模拟 js 里 JSEncrypt 模块的加密方式?

  •  
  •   BBrother · 2016-11-03 16:49:47 +08:00 · 5860 次点击
    这是一个创建于 2920 天前的主题,其中的信息可能已经有所发展或是发生改变。

    js 的代码如下

    var g = new JSEncrypt();
    g.setPublicKey(f.key);
    c = g.encrypt(f.hash + c);
    

    我知道 f.key 和 f.hash 的值, c 是密码的原文,怎么用 python 实现这个过程?
    f 的格式如下

    {'hash': '17aa7f5df0ae61b8', 'key': '-----BEGIN PUBLIC KEY-----\nMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCdScM09sZJqFPX7bvmB2y6i08J\nbHsa0v4THafPbJN9NoaZ9Djz1LmeLkVlmWx1DwgHVW+K7LVWT5FV3johacVRuV98\n37+RNntEK6SE82MPcl7fA++dmW2cLlAjsIIkrX+aIvvSGCuUfcWpWFy3YVDqhuHr\nNDjdNcaefJIQHMW+sQIDAQAB\n-----END PUBLIC KEY-----\n'}
    
    11 条回复    2016-11-04 14:12:25 +08:00
    bdbai
        1
    bdbai  
       2016-11-03 19:41:57 +08:00 via Android
    这个是 GPG 吧
    BBrother
        2
    BBrother  
    OP
       2016-11-03 20:25:31 +08:00
    @bdbai 这个是 B 站登录加密密码的一段 js 。
    bdbai
        3
    bdbai  
       2016-11-03 21:24:49 +08:00 via Android
    @BBrother 看上去像 GPG
    icedx
        4
    icedx  
       2016-11-03 21:34:13 +08:00 via Android
    RSA 加密吧
    ibigbug
        5
    ibigbug  
       2016-11-03 21:42:07 +08:00
    去代码里面搜加密方法。。
    Arthur2e5
        6
    Arthur2e5  
       2016-11-03 22:04:27 +08:00
    https://github.com/travist/jsencrypt

    直接调 openssl 啊……
    SlipStupig
        7
    SlipStupig  
       2016-11-04 03:02:46 +08:00
    pycrypt
    SlipStupig
        8
    SlipStupig  
       2016-11-04 03:03:17 +08:00
    或者调用 pyv8 去跑也行......装环境有点恶心
    BBrother
        9
    BBrother  
    OP
       2016-11-04 09:04:54 +08:00
    @SlipStupig 这个在算法细节上和 JSEncrypt 一致吗?
    eoo
        10
    eoo  
       2016-11-04 13:41:37 +08:00
    用 nodejs 做个接口调用
    SlipStupig
        11
    SlipStupig  
       2016-11-04 14:12:25 +08:00
    @BBrother 等于把程序运行了一次,当然一致
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1460 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 20ms · UTC 17:33 · PVG 01:33 · LAX 10:33 · JFK 13:33
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.