qiayue
V2EX  ›  问与答

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

  •  
  •   qiayue ·
    PRO
    · May 14, 2013 · 3487 views
    This topic created in 4745 days ago, the information mentioned may be changed or developed.
    2 replies    1970-01-01 08:00:00 +08:00
    situch
        1
    situch  
       May 14, 2013   ❤️ 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
    PRO
       May 14, 2013
    @situch 谢谢
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   944 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 21:28 · PVG 05:28 · LAX 14:28 · JFK 17:28
    ♥ Do have faith in what you're doing.