{"repo":"wustrive2008/aes-rsa-java","free":true,"listed":false,"github":"https://github.com/wustrive2008/aes-rsa-java","clone":"git clone https://github.com/wustrive2008/aes-rsa-java.git","description":"AES+RSA结合应用java示例","language":"Java","stars":356,"topics":["java","aes","rsa","encryption"],"license":"Apache-2.0","category":"security-tools","readme_excerpt":"aes-rsa-java AES+RSA结合应用java示例 介绍 随着Internet网的广泛应用，信息安全问题日益突出，以数据加密技术为核心的信息安全技术也得到了极大的发展。 目前的数据加密技术根据加密密钥类型可分私钥加密（对称加密）系统和公钥加密（非对称加密）系统。对称加密算法是较传统的加密体制， 通信双方在加/解密过程中使用他们共享的单一密钥，鉴于其算法简单和加密速度快的优点，目前仍然是主流的密码体制之一。 最常用的对称密码算法是数据加密标准（DES）算法，但是由于DES密钥长度较短，已经不适合当今分布式开放网络对数据加密安全性的要求。 最后，一种新的基于Rijndael算法对称高级数据加密标准AES取代了数据加密标准DES。 非对称加密由于加/解密钥不同（公钥加密，私钥解密），密钥管理简单，也得到广泛应用。RSA是非对称加密系统最著名的公钥密码算法。 加解密流程 1. 服务器端(server)和客户端(client)分别生成自己的密钥对 2. server和client分别交换自己的公钥 3. client生成AES密钥(aesKey) 4. client使用自己的RSA私钥(privateKey)对请求明文数据(params)进行数字签名 5. 将签名加入到请求参数中，然后转换为json格式 6. client使用aesKey对json数据进行加密得到密文(data) 7. client使用sever的RSA公钥对aesKey进行加密(encryptkey) 8. 分别将data和encryptkey作为参数传输给服务器端 服务器端进行请求响应时将上面流程反过来即可 文章详解 开放接口的安全验证方案(AES+RSA)/)","default_branch":null,"files":null,"tree":[],"storefront":"/r/wustrive2008","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/wustrive2008/aes-rsa-java/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}