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

广州做网站服务怎样做网站反链

广州做网站服务,怎样做网站反链,邹城手机网站建设,在线刷关键词网站排名源码#xff1a; 之前使用GO已经可以实现秘钥交换了#xff0c;这里使用浏览器发送数据#xff0c;与后端服务实现秘钥交换#xff0c;记录一下实现的基本函数#xff1a; // 生成密钥对#xff0c;并保存到全局变量中async function createDHPair() {// 生成新的ECD…源码   之前使用GO已经可以实现秘钥交换了这里使用浏览器发送数据与后端服务实现秘钥交换记录一下实现的基本函数 // 生成密钥对并保存到全局变量中async function createDHPair() {// 生成新的ECDH密钥对const keyPair await window.crypto.subtle.generateKey({name: ECDH,namedCurve: P-256},true, // 允许导出私钥[deriveKey, deriveBits] // 导出私钥的权限);return keyPair;};async function getPublicKey(keyPair) {const publicKey await crypto.subtle.exportKey(spki, keyPair.publicKey);return publicKey;}async function getPublicKeyRaw(keyPair) {const publicKey await crypto.subtle.exportKey(raw, keyPair.publicKey);return publicKey;}// async function getPrivateKey(keyPair) {// const publicKey await crypto.subtle.exportKey(pkcs8, keyPair.publicKey);// return publicKey;// }async function calculateSharedSecret(privateKey, publicKey) {// 执行Diffie-Hellman密钥交换以计算共享密钥const sharedSecret await window.crypto.subtle.deriveBits({name: ECDH,namedCurve: P-256,public: publicKey // 使用对方的公钥},privateKey, // 使用自己的私钥256,);return new Uint8Array(sharedSecret);} getPublicKeyRaw 函数使用了 crypto.subtle.exportKey 方法来将公钥导出为原始数据格式。这里的 raw 参数指示将密钥导出为原始字节序列。 与之相比通常使用的其他导出类型包括 spkiSubjectPublicKeyInfo和 pkcs8Private-Key Information Syntax Standard #8。这两种类型是 ASN.1 格式的密钥编码格式用于在不同系统之间交换和存储密钥。spki 用于导出公钥pkcs8 用于导出私钥。 区别在于 raw 格式将密钥直接导出为原始的字节序列没有进行任何格式化。这种格式可能比较简单但也更加直接。 spki 格式导出的是 SubjectPublicKeyInfo 结构包含了公钥的算法标识和公钥本身。这种格式通常用于在 X.509 证书中传输和存储公钥。 pkcs8 格式导出的是 Private-Key Information Syntax Standard #8 结构包含了私钥的算法标识和私钥本身。这种格式通常用于在 PKCS#8 格式的私钥文件中存储私钥。 测试的代码如下 async function test1(){const keyPair1 await createDHPair();const keyPair2 await createDHPair();console.log(s1:, keyPair1);console.log(s2:, keyPair2);const publicKey1 await getPublicKey(keyPair1);const publicKey2 await getPublicKey(keyPair2);console.log(public1:, publicKey1);console.log(public2:, publicKey2);const publicKey11 await getPublicKeyRaw(keyPair1);console.log(public1:, publicKey11);// const privateKey1 await getPrivateKey(keyPair1);// const privateKey2 await getPrivateKey(keyPair2);//// console.log(private1:, privateKey1);// console.log(private2:, privateKey2);// 计算共享密钥const sharedSecret1 await calculateSharedSecret(keyPair1.privateKey, keyPair2.publicKey);const sharedSecret2 await calculateSharedSecret(keyPair2.privateKey, keyPair1.publicKey);// sharedSecret1 和 sharedSecret2 应该是相同的如果计算正确的话console.log(Shared secret 1:, sharedSecret1);console.log(Shared secret 2:, sharedSecret2);} 备注 1公钥可以导出私钥不允许导出所以只能生成秘钥之后保存共享密钥用指纹来标记 2具体的使用raw导出无法与GO等交互需要按照标准约定来导出和导入也就是spki方式 具体能用的代码参考项目文件。https://github.com/robinfoxnan/BirdTalkServer/blob/main/server/js/wsclient.js
http://www.pierceye.com/news/732389/

相关文章:

  • 网站公司做的比较好网站建设业务饱和了吗
  • 做网站做电脑版还是手机版好可以访问国外网站的dns
  • 网站制作素材图片英文站 wordpress seo优化
  • 现在ui做的比较好的网站徐州经济技术开发区
  • 网站设计公司网帐号售卖网站建设
  • 信阳建设网站哪家好wordpress 文章评价插件
  • 网校网站模板东莞网站关键字
  • 做游戏的php网站2019做seo网站
  • 做外贸那个网站好免费asp主机网站
  • 网站设计服务要不要交文化事业建设费在线解压zip网站
  • 沈阳关键词自然排名西安百度seo排名软件
  • 徐州网站建设市场分析手工灯笼简单又好看
  • 网站开发学什么语音提供设计的的网站
  • 微站和网站数据同步icp备案查询
  • 诸城网站制作wordpress圆角插件汉化
  • 杨家平网站建设小程序开发网站
  • 校园文化建设图片网站浅析图书馆门户网站建设
  • 网站开发与应用案例教程哈尔滨自助建站系统
  • 网站关键词排名seo百度网址链接是多少
  • 电子商务网站的建设收益直播软件的app
  • 遵义在百度做个网站多少钱如何建立企业网站
  • 我想做个网站手机网站建设优势
  • 网站制作毕业设计滁州市建设局网站
  • saas建站和开源建站的区别比较高端的网页
  • 新公司董事长致辞做网站wordpress二次开发手册chm
  • 网站显示建设中大型企业网站制作
  • 长沙自动化网站建设wordpress 自定义栏目 调用
  • 吉大建设工程学院官方网站wordpress 文章图片插件
  • 赤峰中国建设招标网站网页设计素材网站推荐
  • 天津网站建设电焊机wordpress主题jenney