我需要通过网页为外部平台交换一系列密钥,可能会发生用户没有配置使用HTTPS的SSL证书,以便在开始传输之前以安全的方式执行此操作我向用户邮件发送确认代码框,用这段代码我生成一个SHA-256哈希(用PHP和HTML5加密API完成),我用它作为密钥的AES-256(CBC)加密密钥,之后我在base64中转换它并发送客户端将其转换为文件并触发下载 . 问题是我无法将组件(IV连接到加密字符串)转换为JavaScript请求的格式 . 这里的解密代码:

string = window.atob(string);

promise_key = window.crypto.subtle.generateKey({name: "AES-CBC", length: 256}, false, ["decrypt"]);

promise_key.then(function(key){

key_object = key;

var vector = string.substr(0, 16);

string = string.substr(16);

decrypt_promise = window.crypto.subtle.decrypt({name: "AES-CBC", iv: vector, length: 256}, key_object, string);

decrypt_promise.then(function(result){

decrypted_data = new Uint8Array(result);

console.log(decrypted_data);

});

});

处理:

客户端向服务器发送AJAX请求以初始化密钥生成;

服务器向用户邮箱发送确认数字代码,向AJAX发送ID;

用户收到电子邮件,将代码写入网页并提交;

客户端发送带有重新标识的ID的步骤2的AJAX请求;

服务器检查ID,生成并加密密钥并将其发送到客户端;

客户端准备使用SHA-256对服务器进行哈希处理的解密密钥(也是服务器为加密完成此操作);

客户端解密密钥,构建JSON字符串并触发下载为文件 .

php对html加密解密,PHP Mcrypt和HTML5加密API加密/解密相关推荐

  1. mcrypt php 加密解密,PHP mcrypt启用、加密以及解密过程详解

    Mcrypt扩展库可以实现加密解密功能,就是既能将明文加密,也可以密文还原. 1.安装PHP加密扩展Mcrypt 要使用该扩展,必须首先安装mcrypt标准类库,注意的是mcrypt软件依赖libmc ...

  2. php mcrypt aes,简单的PHP加密/解密(Mcrypt,AES)

    我正在寻找使用Mcrypt的简单但加密强大的AES实现AES. 希望将其归结为一对简单的函数,$garble = encrypt($key,$payload)和$payload = decrypt($ ...

  3. java 字符串 加密_如何用JAVA实现字符串简单加密解密?

    展开全部 java加密字符串可以使用des加密算法62616964757a686964616fe4b893e5b19e31333363376462,实例如下: package test; import ...

  4. angular和JAVA实现aes、rsa加密解密,前后端交互,前端加解密和后端JAVA加解密实现

    今天实现了下AES和RSA加密解密,主要的功能是对前后端交互数据进行加密解密,为什么要用到两个算法呢,首先RSA默认的话加密长度是有限的100多个byte吧大约,并且需要公钥私钥,而AES加密没有限制 ...

  5. js des加密 java_Java实现与JS相同的Des加解密算法完整实例

    本文实例讲述了Java实现与JS相同的Des加解密算法.分享给大家供大家参考,具体如下: 这里演示java与js实现相同的des加解密算法,不多说,不废话,直接上代码 一.java实现 package ...

  6. 使用windows crypto API加密解密

    2019独角兽企业重金招聘Python工程师标准>>> 其实,使用windows API编程并不难,首先要有信心.MSDN提供了详细的帮助和指南,许多问题,只要详细查阅MSND,完全 ...

  7. 小程序解码时 php 7.0以上 mcrypt拓展无法使用 旧版本的解密解决方案 新版本在另外一篇文章

    WXBizDataCrypt.php class WXBizDataCrypt {private $appid;private $sessionKey;/*** 构造函数* @param $sessi ...

  8. java 字符串加密_如何用JAVA实现字符串简单加密解密?

    展开全部 java加密字符串可以使用des加密算法,实例如62616964757a686964616fe59b9ee7ad9431333337616636下: package test; import ...

  9. 哪种加密的PDF可以破解?有哪些PDF解密方法?

    我们日常经常接触PDF文档,但有些文档被加密了,不能打开或者只是不能打印或转换等,这些加密的PDF文件可以破解吗? PDF的加密方式可以总结分为2类,第1类是打开密码即输入密码才能打开PDF文件:第2 ...

最新文章

  1. 谈谈离职和跳槽(copy)
  2. R语言shiny包运行runApp()报错的解决
  3. sql server 函数学习
  4. 网络虚拟化有几种实现方式_停车场管理系统的防砸车功能有几种方式?如何实现?...
  5. Sencha Touch2中数据的获取
  6. 图片放大不失真软件 S-Spline V2
  7. 支付牌照再获成功续展!支付宝:感谢央行的信任和认可
  8. Memcached 教程 | 菜鸟教程
  9. 20210627:力扣第247周周赛(上)
  10. 最新MTK刷机工具资料(SP_Flash_Tool_exe_Windows_v5.1844.00.000)
  11. c++实现单例模式完整源代码
  12. Lombok之@Cleanup使用
  13. 《工程学导论》读后感
  14. python爬网站信息_一个爬取实习僧网站信息的爬虫
  15. WIN10和MAC OS双系统,调整MAC os分区给WIN10系统扩C盘
  16. 如何查看本机Mac地址
  17. TNFBA治疗强柱达52周时脊柱新骨形成与慢性炎症损害和脂肪变性有关
  18. mate 10android o主题,华为Mate 10 Pro体验:这才是全面屏手机该有的样子
  19. spark解决Illegal pattern component: XXX NoSuchFieldError: KRYO_SARG_BUFFER
  20. 在html页面实时显示系统时间

热门文章

  1. 滴滴自动驾驶首轮融资超5亿美元 加大研发投入 助力“新基建”
  2. 一位 Rust 开发者的 Go 初体验
  3. 酷炫的VR选座,阿里大麦背后的技术堪称豪华
  4. 从拨号到 5G :互联网登录完全指南
  5. 软件正在吞噬世界!如何拯救旧金山的开发者?
  6. 如何快速提升 Go 程序性能?
  7. GitHub 日收 12,000 星,微软新命令行工具引爆程序员圈!
  8. 盘点 | 2017 年关于 Python 的 12 件大事
  9. 牛逼!mysql创建库books
  10. 幸亏有这本623页的微服务框架实战笔记,面试篇