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

域名备案和网站备案有什么不同定制一个高端网站

域名备案和网站备案有什么不同,定制一个高端网站,长春网站建设长春电梯公司,韩国电信 网站deriveKey 方法的完整示例,演示如何使用 HMAC 作为密钥派生函数(KDF)来从一个给定的秘密(如密码)派生出一个新的 AES 加密密钥。 //创建一个函数来生成随机盐function getRandomSalt(length){let arraynew Uint8Array…

deriveKey 方法的完整示例,演示如何使用 HMAC 作为密钥派生函数(KDF)来从一个给定的秘密(如密码)派生出一个新的 AES 加密密钥。

//创建一个函数来生成随机盐function getRandomSalt(length){let array=new Uint8Array(length);window.crypto.getRandomValues(array);return array;}//生成随机数字function randomFloat(){const fooArray=new Uint32Array(1);const maxUint32=0xFFFFFFFF;return crypto.getRandomValues(fooArray)[0];}//生成随机密码,导入密钥当中function getKeyMaterial(){//const password=window.prompt("请输入你的密码");//就是为加密时用密码//这里不用输入密码,我们采用随机生成的数字,这样可以增加破解难度,提升安全性const password=randomFloat();const enc=new 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 passwordBuffer=await getKeyMaterial();const derivedKey=await 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 encoder=new TextEncoder();const dataBuffer=encoder.encode(dataToEncrypt);const iv=window.crypto.getRandomValues(new Uint8Array(12));const encryption=await crypto.subtle.encrypt({name:'AES-GCM',iv:iv},derivedKey,dataBuffer);return {ciphertext:encryption,iv:Array.from(iv)}}//使用派生的密钥进行解密async function decryptData(derivedKey,ciphertext,iv){const decrypted=await crypto.subtle.decrypt({name:'AES-GCM',iv:new Uint8Array(iv)},derivedKey,ciphertext);const decoder=new TextDecoder();return decoder.decode(decrypted);}//最后把他们综合到一起,进行加密和解密,以及做加密后内容的演式(async function(){const salt=getRandomSalt(16);const info=new Uint8Array();const keyLength=256;try{//派生的密钥const derivedKey=await deriveAeskey(salt,info,keyLength);//需要加密的数据const dataToEncrypt="this is data";const {ciphertext,iv}=await encryptData(derivedKey,dataToEncrypt);//这里是演式你加密后的数据样式console.log(String.fromCharCode(...new Uint8Array(ciphertext)));//解密数据const decryptedData=await decryptData(derivedKey,ciphertext,iv);console.log('解密数据:',decryptedData);}catch(error){console.log('加解密时发生错误',error);}})();
http://www.yayakq.cn/news/234425/

相关文章:

  • 广州网站设计总部做网站服务器是必须购买的吗
  • 中国住房和城乡建设厅网站首页广州比较有名的网站建设公司
  • 未来对网站建设的需求网站根目录权限设置
  • 红河蒙自网站开发装饰工程验收规范最新版
  • 温州平阳县网站建设兼职怎么做相册网站
  • 公司网站制作设计联系方式网站建设主要由哪几个部分组成
  • 网站首页权重装潢设计图片大全
  • 网站下载端口建设如何制作视频教程
  • 上海设计招聘网站提高搜索引擎排名
  • aspcms开源企业网站建设系统怎么在百度上发布广告
  • 一个wordpress模版几个网站黄石企业网站设计
  • 全球最大的平面设计网站广州网站建站公司
  • 网站设计的市场分析拟采用建站技术
  • 找人做网站一套多少钱网络市场调研的五个步骤
  • 东莞网站建设三合一百度平台投诉人工电话
  • 手游传奇新开服网站九江做网站公司
  • 最大郑州网站建设公司晋中路桥建设集团有限公司网站
  • 文字云网站上海建网站服务器
  • 怎么查网站开发语言做网站主机选择
  • 漳州微网站建设公司哪家好线下销售怎么做推广
  • 网站建设怎么赚钱自己的网站做怎样的优化调整
  • 成品网站源码1688版本号廊坊建设公司网站
  • 网站开发背景策划书合肥做网站的公司百度
  • 网站建设一定要域名吗网站招生宣传怎么做
  • 影视会员网站怎么建设hao123浏览器官方下载
  • 静态网站开发工具网站开发报价单
  • 电商网站设计实训总结报告广西建设网电子证件查询
  • 网站建设活动海报学网络工程师
  • 网页网站设计北京市门户网站
  • 网站开发好的语言海淀区社区建设网站