V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
qiayue
V2EX  ›  问与答

求助送分,求js加密,服务端(java)解密的相关技术介绍或者经验分享

  •  
  •   qiayue · 2013-05-14 15:49:58 +08:00 · 3036 次点击
    这是一个创建于 4236 天前的主题,其中的信息可能已经有所发展或是发生改变。
    2 条回复    1970-01-01 08:00:00 +08:00
    situch
        1
    situch  
       2013-05-14 16:40:27 +08:00   ❤️ 1
    参考:https://github.com/ziyan/javascript-rsa
    他用的是php,java自己实现一下是很快的,使用方法如下,亲测可用。

    js加密:
    var __pem = "-----BEGIN PUBLIC KEY-----你的公钥-----END PUBLIC KEY-----";
    var __key = RSA.getPublicKey(__pem);
    var pwd = RSA.encrypt(_password,__key);

    java解密:
    private String decryptPassword(String encryptPassword) {
    String password = encryptPassword;
    try {
    Cipher cipher = Cipher.getInstance("RSA/None/PKCS1Padding", new BouncyCastleProvider());
    cipher.init(Cipher.DECRYPT_MODE, PRIVATE);
    password = new String(cipher.doFinal(Base64.decode(password)));
    } catch (Exception e) {
    e.printStackTrace();
    }
    return password;
    }

    private static final PrivateKey PRIVATE = getRSAPrivateKey();

    private static PrivateKey getRSAPrivateKey() {
    PrivateKey privateKey = null;
    try {
    KeyFactory keyFactory = KeyFactory.getInstance("RSA");
    byte[] keyBytes = Base64.decode("你的密钥");
    PKCS8EncodedKeySpec pkcs8KeySpec = new PKCS8EncodedKeySpec(keyBytes);
    privateKey = keyFactory.generatePrivate(pkcs8KeySpec);
    } catch (Exception e) {
    e.printStackTrace();
    }
    return privateKey;
    }
    qiayue
        2
    qiayue  
    OP
       2013-05-14 17:09:11 +08:00
    @situch 谢谢
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3164 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 12:50 · PVG 20:50 · LAX 04:50 · JFK 07:50
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.