该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
加解密差不多了,下一步开始写登录了。
//先对称加密 key 和数据
String key = "j783420jfjyqalgr";
String data = "周"; // FBI通缉人 周
String encrypt = AESUtil.encrypt(data, key); // 向服务器传输encrypt,下面几行会传key的密文
// 先用公钥,把key加密
byte[] bytes = encryptByPublicKey(key.getBytes("utf-8"), PUBLIC_KEY);
System.out.println(new String(bytes,"utf-8")); // 乱码,不可以传输
String encode = Base64Util.encode(bytes); // 把乱码转化为能够传输的密文
System.out.println(encode); // 把encode(key的密文),以及encrypt对称加密的密文传到服务器
byte[] decode = Base64Util.decode(encode);
System.out.println(new String(decode,"utf-8")); // 服务器转化为密文key乱码
byte[] bytes1 = RSAUtil.decryptByPrivateKey(decode); // 服务器解密key密文
String key1 = new String(bytes1, "utf-8");//
System.out.println(key1); // key解密了
String decrypt = AESUtil.decrypt(encrypt, key1);
System.out.println(decrypt); // data