栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

使用公共密钥加密,以Javascript加密,以PHP解密

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

使用公共密钥加密,以Javascript加密,以PHP解密

我在登录页面上使用了类似的内容;它使用给定的公共密钥信息(N,e)加密登录凭据,该信息可以在PHP中解密。

它使用以下文件

JSBN

  • jsbn.js
    -使用大整数
  • rsa.js
    -仅用于RSA加密(使用jsbn.js)
  • rng.js
    -基本的熵收集器
  • prng4.js
    -ARC4 RNG后端

加密数据:

$pk = '-----BEGIN RSA PRIVATE KEY-----...-----END RSA PRIVATE KEY-----';$kh = openssl_pkey_get_private($pk);$details = openssl_pkey_get_details($kh);function to_hex($data){    return strtoupper(bin2hex($data));}?><script>var rsa = new RSAKey();rsa.setPublic('<?php echo to_hex($details['rsa']['n']) ?>', '<?php echo to_hex($details['rsa']['e']) ?>');// encrypt using RSAvar data = rsa.encrypt('hello world');</script>

这是解码发送的数据的方式:

$kh = openssl_pkey_get_private($pk);$details = openssl_pkey_get_details($kh);// convert data from hexadecimal notation$data = pack('H*', $data);if (openssl_private_decrypt($data, $r, $kh)) {   echo $r;}


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/495453.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号