百度登录过程比较复杂,使用了rsa加密
实现过程有如下步骤
obj.log=Logger.getLogger(TestShareDown.class);
obj.log.info("1、开始第一次请求,用于获取cookie\r\n");
obj.reqJust();
obj.log.info("2、开始获取token\r\n");
obj.reqToken();
obj.log.info("3、开始获取验证码信息\r\n");
obj.reqImgCodeInfo();
obj.log.info("4、开始下载图片和获取验证码输入\r\n");
obj.getInputImgCode();
obj.log.info("5、开始正确性\r\n");
obj.reqValidImgCode();
obj.log.info("6、开始获取rsa\r\n");
obj.reqRsaKey();
obj.log.info("7、开始加密登录密码\r\n");
obj.ecnPassword();
obj.log.info("8、开始登录\r\n");
obj.reqLogin();
obj.log.info("9、开始获取bdstoken\r\n");
obj.reqBdstoken();
其实核心的过程就是根据百度返回的rsa加密密码
public void ecnPassword() throws Exception {
byte[] decodeBase64 = Base64.decodeBase64(pubkey);
X509EncodedKeySpec x509 = new X509EncodedKeySpec(decodeBase64);
KeyFactory keyFactory = KeyFactory.getInstance("RSA");
PublicKey publicKey = keyFactory.generatePublic(x509);
Cipher cipher = Cipher.getInstance(keyFactory.getAlgorithm());
cipher.init(Cipher.ENCRYPT_MODE, publicKey);
encPwd = Base64.encodeBase64String(cipher.doFinal("123qwe"
.getBytes()));
log.info("加密后密码:"+encPwd+"\r\n");
}
分享到:
相关推荐
通过学习和理解这些代码,开发者可以更好地掌握如何在Java环境中安全地实现DES+RSA的加密策略。 总之,DES+RSA的结合提供了更高级别的数据安全性,适应了现代网络环境中的多种安全需求。Java作为一种流行的开发语言...
Java 实现文件的 RSA 和 DES 加密 在现代密码技术中,根据密钥类型的不同,可以将其分为两类:对称加密算法(秘密钥匙加密)和非对称加密算法(公开密钥加密)。对称加密算法用来对敏感数据等信息进行加密,常用的...
AES(Advanced Encryption Standard)和RSA是两种广泛应用的加密算法,本项目“AES+RSA加密解密(js和java互通)”主要探讨了如何在JavaScript和Java之间实现这两种加密方式的互操作性。 AES是一种对称加密算法,以...
在Java中,RSA加密可以通过`java.security`包中的`KeyPairGenerator`、`KeyPair`、`Cipher`等类实现。首先,我们需要生成一对密钥,然后使用公钥进行加密,私钥用于解密。 **AES算法** AES(Advanced Encryption ...
JWT(JSON Web Tokens)与RSA是一种常见的用于...在实际应用中,文件“登录”可能包含了实现这些功能的代码示例,包括用户认证、JWT和RSA的使用等。这些代码可以帮助开发者理解如何在项目中集成JWT+RSA的身份验证系统。
在Java中,我们可以使用`java.security.MessageDigest`类来实现MD5计算。例如: ```java import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; public class MD5Example { ...
通过上述步骤,我们可以实现一个基于RSA、Java和JavaScript的登录系统,确保用户密码在传输过程中的安全性。但需要注意的是,实际应用中还应考虑其他安全措施,如使用HTTPS防止中间人攻击,以及定期更换密钥等。
实现JavaScript和Java之间的AES+RSA互通,通常的步骤是: 1. **生成密钥对**:在服务器端(通常是Java环境)生成RSA公钥和私钥。 2. **发送公钥**:将公钥发送给前端(JavaScript环境)。 3. **AES加密**:前端使用...
使用RSA非对称加密完成Java后端RSA加密和分段加解密,最近研究了RSA非对称加密,关于什么是RSA,网上各种文章一搜一大把,由于RSA的特性,一个1024位的密钥只能加密117位字节数据,当数据量超过117位字节的时候,程序...
本文将深入探讨如何使用Java实现RSA加密登录。 首先,RSA算法基于两个密钥:公钥和私钥。公钥用于加密,而私钥用于解密。在登录场景中,服务器通常持有私钥,客户端(如用户端应用)持有公钥。登录时,客户端使用...
RSA加密 Java实现,RSA加密 Java实现,RSA加密 Java实现
在 JAVA 中,可以使用 Java Cryptography Architecture (JCA) 来实现 RSA 加密。JCA 提供了各种加密算法的实现,包括 RSA。下面是一个简单的 RSA 加密和解密示例: ```java import java.security.KeyPair; import ...
java毕业设计基于SpringBoot+WebSocket+RSA的仿比特币点对点交易系统源码+使用文档+全部资料(优秀项目)java毕业设计基于SpringBoot+WebSocket+RSA的仿比特币点对点交易系统源码+使用文档+全部资料(优秀项目)java...
C# .net 使用Java公钥实现RSA加密
Java OpenSSL生成的RSA公私钥进行数据加解密详细介绍 项目: JAVA生成的RSA的密文,通过C++来解密。 RSA这里就不多介绍了大家自己去看。 JAVA也是通过包来实现加密和解密的,那么我的C++是通过OPENSSL的库来实现的...
RSA、MD5 字符串、MD5文件、DES、ELGamal等加密算法实现,以及RSA模拟数字签名过程(工程Crypto和RSASignature),全部用GUI展现(NetBean6.5的Swing库),要求JDK1.5+,读者可以直接运行dist目录下的jar文件,一目了然...
本资源“C#百度最新登录源码2015-07-04 添加Rsa加密”是一个特定时期的C#代码示例,旨在帮助开发者实现对百度账号的模拟登录,并且包含了Rsa加密技术的集成,这样就无需依赖JavaScript文件进行加密操作。 首先,让...
本话题主要关注如何在C#和Java之间通过RSA和DES加密算法实现数据的安全互通。RSA是一种非对称加密算法,适用于小量数据加密,如密钥交换;而DES是对称加密算法,适合大量数据的快速加密,但安全性相对较低。 首先,...
在Java中实现RSA加密算法,主要涉及以下几个核心概念和步骤: 1. **RSA原理**:RSA算法基于数论中的大数因子分解难题,由两个大素数P和Q相乘得到N,然后计算N的欧拉函数φ(N) = (P-1) * (Q-1),选取一个与φ(N)互质...
在Java中,实现RSA加密和解密可以使用java.security包中的KeyPairGenerator、PublicKey、PrivateKey、Cipher等类。首先,通过KeyPairGenerator生成一对密钥,然后使用Cipher对象进行加密和解密操作。以下是简单的...