rsa前端加密,后端解密使用过程

本文详细介绍RSA非对称加密算法的应用场景与实现步骤。通过前端JavaScript与后端PHP的示例代码,演示如何生成公私钥对,并利用公钥加密、私钥解密的过程,确保数据传输的安全。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

RSA 是一种非对称加密算法,简单概括,就是加密和解密时使用不同的密钥进行。

常用情况在用户进行登录,敏感字段如密码,在传输过程往往不希望明文传输,所以需要用到类似于rsa这种非对称加密进行处理。

1.想要使用RSA,需要得到一对公私密钥,网上有很多在线生成的,如:http://web.chacuo.net/netrsakeypair

2.使用示例如下:

       前端:

<!DOCTYPE html>
<html>
<head>
	<title>rsa加密测试</title>
</head>
<body>

</body>
<script src="http://www.xxxxx.cn/static/index/js/jquery-1.9.1.min.js"></script>
<script src="./jsencrypt.min.js"></script>

<script>
$(function(){
	var public_key = "-----BEGIN PUBLIC KEY-----";
		public_key += "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDTzgAg/36eMNRsXMYvr19XZNqb";
		public_key += "HIZKw0DPGvJLiUz/ciIu+ls3l3jUd+5MEB5XrEMeslNLIeCHIv0CZkWRCMpq0tHL";
		public_key += "MPCqmjr8ru/53JM9qGnUz6CdefwCraIBUh1A3Uu4mK63oigsMNO97VRNGcbd5xd2";
		public_key += "i/DQ6qCw66V/b5IawQIDAQAB";
		public_key += "-----END PUBLIC KEY-----";

	// 利用公钥加密
	var encrypt = new JSEncrypt();
	encrypt.setPublicKey(public_key);
	var encrypted = encrypt.encrypt('test');
	console.log(encrypted);




});
</script>
</html>

 

 

       后端:

//rsa加解密测试
    public function rsa_test(){
        $private_key = '-----BEGIN PRIVATE KEY-----
MIICdwIBADANBgkqhkiG9w0BAQEFAASCAmEwggJdAgEAAoGBANPOACD/fp4w1Gxc
xi+vX1dk2pschkrDQM8a8kuJTP9yIi76WzeXeNR37kwQHlesQx6yU0sh4Ici/QJm
RZEIymrS0csw8KqaOvyu7/nckz2oadTPoJ15/AKtogFSHUDdS7iYrreiKCww073t
VE0Zxt3nF3aL8NDqoLDrpX9vkhrBAgMBAAECgYAEPyMdhkHhphT8PzfyCNAejnUb
mwzOPu/ztxSYkx4qGP26d2aQzMata+IpQEF7fIaz/NtSrFE2JGtyOt62M7jrNgg8
f2gcacR+GrTMoN5qgzgif1jg9ce9xSvaSR5/PejWZtrQLp0suMjPXyRoXGuHBQVA
eVmbGVG6S9LYXdKpYQJBAPci8TIL1i5q1Mm0vOqprfeOLiy0Xi8+eGFz0Q1xkZc8
CWOorHI3NWM8drIuEMP6rZ/ZZMPAGZ6K1akCimcMMj0CQQDbZqm/pukYpCZ+MBFe
a9Mr3HxD+EQ6oMsw+niNxbiLywudNoxF4xDq5+fGr+D+7WsCOLZ8lSiBTm4+6Ece
iGbVAkA2VPBB2GhV/Bab4ahGztb4PcHZAi5SpKFCi3vCQN2JKiHGTybaVVjfYEOY
GJiG/W1+XwTQJEN9n3gpl+1likDhAkEA2T0G2PAwnyhxwMJhgEdtOWHAXSCmlhJ9
/ooS8fWTbD9oyYqoS86wApgK461kL6bvLKzw69xY1efNu1YMjUvr3QJBALuCp8vp
Z4ATUhTyWIox9A3gfVZuK7nLs/NHsY5cCozzUdQiIA53Vx4jWnzHSZoCYGKkWcJB
SW+qn0f3y3Gr0B4=
-----END PRIVATE KEY-----
';

        $str = 'grUsFQWfDIo5T9Foz2ufRH1T2I9vf46Hv8CmuDc+ks0KEBIemtMini1K9IHV8uldCYYRNDBZMQnf5HSgLbKA+F+WzvxETLCsxQX8neI3wxAJOXwuDEliKQyW+nI1kFnJuMsiz1VXlSLNX3Dqw4y/Q2WF+ouV1lI6s+zFdnwM47A=';

        //私钥解密 
        openssl_private_decrypt(base64_decode($str),$decrypted,$private_key); 
        var_dump($decrypted);

    }

注:秘钥对不要复制上面的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值