当前位置: 首页 > news >正文

大兴安岭做网站wordpress验证评论邮箱

大兴安岭做网站,wordpress验证评论邮箱,深圳市住建局工程交易服务网,网站建设汇报 安全保障deriveKey 方法的完整示例#xff0c;演示如何使用 HMAC 作为密钥派生函数#xff08;KDF#xff09;来从一个给定的秘密#xff08;如密码#xff09;派生出一个新的 AES 加密密钥。 //创建一个函数来生成随机盐function getRandomSalt(length){let arraynew Uint8Array…deriveKey 方法的完整示例演示如何使用 HMAC 作为密钥派生函数KDF来从一个给定的秘密如密码派生出一个新的 AES 加密密钥。 //创建一个函数来生成随机盐function getRandomSalt(length){let arraynew Uint8Array(length);window.crypto.getRandomValues(array);return array;}//生成随机数字function randomFloat(){const fooArraynew Uint32Array(1);const maxUint320xFFFFFFFF;return crypto.getRandomValues(fooArray)[0];}//生成随机密码导入密钥当中function getKeyMaterial(){//const passwordwindow.prompt(请输入你的密码);//就是为加密时用密码//这里不用输入密码我们采用随机生成的数字这样可以增加破解难度提升安全性const passwordrandomFloat();const encnew TextEncoder();return window.crypto.subtle.importKey(raw,enc.encode(password),PBKDF2,false,[deriveBits,deriveKey]);} //创建一个函数来派生密钥async function deriveAeskey(salt,info,keyLength){//生成已有密钥//不能直接用new Textcoder().encoder(password)这样来生成密码必须用这个函数的importKey导入密钥才行const passwordBufferawait getKeyMaterial();const derivedKeyawait crypto.subtle.deriveKey({name:PBKDF2,salt:salt,iterations:10000,hash:SHA-256},passwordBuffer,{name:AES-GCM,length:keyLength},true,[encrypt,decrypt]);return derivedKey;}//使用派生的密钥进行加密async function encryptData(derivedKey,dataToEncrypt){const encodernew TextEncoder();const dataBufferencoder.encode(dataToEncrypt);const ivwindow.crypto.getRandomValues(new Uint8Array(12));const encryptionawait crypto.subtle.encrypt({name:AES-GCM,iv:iv},derivedKey,dataBuffer);return {ciphertext:encryption,iv:Array.from(iv)}}//使用派生的密钥进行解密async function decryptData(derivedKey,ciphertext,iv){const decryptedawait crypto.subtle.decrypt({name:AES-GCM,iv:new Uint8Array(iv)},derivedKey,ciphertext);const decodernew TextDecoder();return decoder.decode(decrypted);}//最后把他们综合到一起进行加密和解密以及做加密后内容的演式(async function(){const saltgetRandomSalt(16);const infonew Uint8Array();const keyLength256;try{//派生的密钥const derivedKeyawait deriveAeskey(salt,info,keyLength);//需要加密的数据const dataToEncryptthis is data;const {ciphertext,iv}await encryptData(derivedKey,dataToEncrypt);//这里是演式你加密后的数据样式console.log(String.fromCharCode(...new Uint8Array(ciphertext)));//解密数据const decryptedDataawait decryptData(derivedKey,ciphertext,iv);console.log(解密数据,decryptedData);}catch(error){console.log(加解密时发生错误,error);}})();
http://www.hkea.cn/news/14439623/

相关文章:

  • 大连网站推广公司凡科快图网页版
  • 03340 网站建设与管理重庆交通大学官网网站
  • 中国建筑出国招聘网自动app优化官网
  • 网站小视频怎么做福田做网站怎么样
  • 网络科技公司网站建设策划网站开发工作室挣钱吗
  • 网站制作网站设计已有域名如何在花生壳网站做二级域名托管
  • 苏州建设工程公司石家庄网站优化招聘
  • 营销型网站报价设计官网首页
  • 设计某网站的登录和注册程序百石网怎么做网站
  • 医院网站建设策划方案泰安市最新消息今天
  • 厦门安岭路网站建设网站推广广告词
  • h5建站模板做外贸好还是跨境电商好
  • 保定 营销型网站建设做网站要求
  • 惠州网站建设电话南京seo推广优化
  • 温州做网站公司北京网站优化流程
  • 站酷网页版汕头百度网站排名
  • 重庆网站建设cqhtwl如何创立自己的网址
  • 珠海网站建设成功案例怎么做传奇网站
  • php 怎么做视频网站网易游戏财报
  • 前程无忧网站开发待遇怎么样网站建设后台管理
  • 网站 抄袭seo好seo
  • 3d网站制作网站如何做下载文档
  • 做付费网站网络营销推广策划的步骤
  • 廊坊市网站推广上国外网站用什么机箱好
  • 重庆微信网站建设多少钱竞价托管代运营公司
  • 网站开发要跑道吗亚马逊aws永久免费下载
  • 找人做网站需要花多少钱百度seo优化系统
  • 做网站SEO用什么电脑方便建网站流程 知乎
  • 商标注册号是什么如何做网站公司名seo
  • 免费网站开发软件网站建设公司华网天下买赠两年