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

优惠券个人网站怎么做广州有什么好玩的地方推荐一下

优惠券个人网站怎么做,广州有什么好玩的地方推荐一下,兼职做效果图的网站,微信公众号运营规则项目场景#xff1a; 今天蛮沮丧的#xff0c;在和别人对接的时候aes加解密的时候踩了坑。今天有个同事请假了#xff0c;所以本来他和别人对接的活#xff0c;老大给了我#xff0c;然后我就正式踏上了战战兢兢的对接之路。 1.一开始的时候对面先是问用的啥加密方法。这…项目场景 今天蛮沮丧的在和别人对接的时候aes加解密的时候踩了坑。今天有个同事请假了所以本来他和别人对接的活老大给了我然后我就正式踏上了战战兢兢的对接之路。 1.一开始的时候对面先是问用的啥加密方法。这个我记得当时做的时候我就在旁边还问我了的AES。顺利答出。 2.然后对面又问要key和偏移量key我知道偏移量是什么鬼然后去百度了一下一个叫IV的东西对加密有点了解脑子里大概知道是做啥用的了去找了一下还真有keyiv都发过去了。还算顺利 问题描述 到这里应该都结束了。哪曾想对面拿到这两个东西解密还是解不了解密返回的是空。 原因分析 然后我就开始找原因 ①我先是试了一下我本地加密解密ok没有问题 ②我又试了一下在密文前面加空格然后解密返回的是空那是不是就是这个原因呢发给对面让对面把空格去了试试好还是不行 ③然后就是半个多小时过去对面看我久久不回把解密的方法发给了我我看了一下和我这边差别不大唯一有差别的就是 对面的key是我发的字符串 而我这边的key是生成的 有没有可能是两个不一样呢我把两个都输出比较了一下都一样的没问题看起来都是字符串。这是我踩的第一个坑。 然后呢不信自己的眼睛又用了一下key key1 输出了一下true也没问题呀。这是我踩的第二个坑。被两个坑给埋了。 最后问同事同事试了一下也愣住了然后我给他展示了一下我用key key1是true ,他让我试试 key key1一输出false好这个时候原因很明显了我又用typeof key输出了是object好家伙。 至于key key1为什么是true我想大概是对象的toString方法让他输出了和key1相等的字符串 解决方案 最后最后我把对面晾了两个多小时对面让我把生成密钥的盐值密码短语KEY_SIZEITERATION_COUNT都发给他自己生成密钥去了。 虽然问题解决了但是还是要探讨一下有密钥了这个key到底应该怎么写。我的chat今天下午竟然罢工了不然问一下应该很快就能解决顺便吐槽一下国内的大模型真lj根本比不了目前还用不了先记录一下等能用了我再问问。 回来填坑 直接这么写不行 然后这样写 var key2 CryptoJS.enc.Utf8.parse(asdfasdfsadfsadfasdf); 输出了一下 用这个key2解密还是不行一样返回为空 突发奇想又把正确的key输出了一下 哦很明显问题出来了比正确的key长问问chat老师 User 还是key不对var key CryptoJS.enc.Utf8.parse(“222d95e87666d9eed4429e0a2daa39a8”); 生成的keyarray是8正确应该是5? 在你提到的情况下密钥的生成可能存在问题。AES 的密钥长度应该是 128 位16 字节192 位24 字节或 256 位32 字节。你提到生成的密钥数组长度为 8这不符合标准的 AES 密钥长度。 如果你的密钥是 32 位的十六进制字符串你可以使用 CryptoJS.enc.Hex.parse 来解析为字节数组。确保使用正确的密钥长度可以根据需要截断或补齐。例如 javascript Copy code // 如果密钥是 32 字节的十六进制字符串 var keyHex “222d95e87666d9eed4429e0a2daa39a8”; var key CryptoJS.enc.Hex.parse(keyHex); 上述代码将 32 字节的十六进制字符串解析为字节数组然后你可以将其用作密钥。 确保你的密钥长度正确并尽量不要硬编码密钥因为密钥的保密性非常重要。最好的做法是将密钥存储在安全的地方而不是在代码中硬编码。如果你需要使用密码来派生密钥可以考虑使用密码学上的密钥派生函数如 PBKDF2。 User 和CryptoJS.enc.Utf8.parse(“222d95e87666d9eed4429e0a2daa39a8”);有什么区别 在 CryptoJS 中CryptoJS.enc.Utf8.parse 和 CryptoJS.enc.Hex.parse 是两个不同的方法用于解析字符串并生成对应的字节数组。 CryptoJS.enc.Utf8.parse 该方法将 UTF-8 编码的字符串转换为字节数组。 适用于包含文本字符的字符串。 例如CryptoJS.enc.Utf8.parse(“Hello, World!”) 会生成一个包含每个字符的 UTF-8 编码的字节数组。 CryptoJS.enc.Hex.parse 该方法将十六进制字符串转换为字节数组。 适用于包含十六进制字符的字符串每两个字符表示一个字节。 例如CryptoJS.enc.Hex.parse(“48656c6c6f2c20576f726c6421”) 会生成一个字节数组对应于 ASCII 编码的 “Hello, World!”。 在你的情况下你提到密钥是一个 32 位的十六进制字符串 javascript Copy code var key CryptoJS.enc.Hex.parse(“222d95e87666d9eed4429e0a2daa39a8”); 这里使用了 CryptoJS.enc.Hex.parse因为你提供的密钥是一个十六进制字符串。这样可以确保正确地将这个字符串转换为字节数组以便在 CryptoJS 的 AES 加密和解密过程中使用。 如果密钥是一个普通的文本字符串而不是十六进制你应该使用 CryptoJS.enc.Utf8.parse。 总的来说选择使用哪个方法取决于你的密钥的表示形式。如果密钥是十六进制字符串使用 CryptoJS.enc.Hex.parse如果是普通文本字符串使用 CryptoJS.enc.Utf8.parse。在加密和解密的过程中确保使用相同的格式来处理密钥。 总结一下喽如果想要把key直接写出来得把密钥写成十六进制的字符串 var key CryptoJS.enc.Hex.parse(asdfasdfsadfsadfasdf);
http://www.zqtcl.cn/news/166683/

相关文章:

  • 四川网站建设设计公司排名开发公司与建筑公司合作协议
  • 江西智能网站建设嘉定注册公司
  • 海口网站建设联系方式十大免费软文推广平台
  • 石碣镇做网站帮别人做网站开价
  • 站长 网站ip客户都不愿意做网站
  • 网站开发和软件开发哪个难网站备案账号
  • 2昌平区网站建设安徽盛绿建设网站
  • 商务网站建设目的天津建设网站需要的费用
  • flash 网站头部wordpress支持大文件上传
  • 网站开发方式的选择凡客设计
  • 常德建设网站如何查询某个网站的设计公司
  • wordpress 仿站教程学校ui设计培训
  • 南昌模板建站定制网站合肥瑶海区网站建设价格
  • 奥尔马手表官方网站导出wordpress文章
  • 网站栏目内容和功能手机网站建设 如何获得更好的排名
  • 网站运营推广难做常德网警
  • 北滘网站建设公司在百度上做网站怎么做
  • 合肥网站建设 毅耘园林设计网站大全
  • 免费备案网站空间爱营销app
  • 郑州网站建设公网站建设需要步骤
  • 源创派网站建设做软件赚钱的网站有哪些
  • 中英文网站建设公司推广引流
  • 网站改域名百度热词指数
  • 网站开发工程师工作内容网站源码是用什么做的
  • 做网站优化费用免费的视频网站如何赚钱
  • 如何制作一个好网站中国建设银行网站暑假工报名
  • 阿里巴巴做网站找谁网站建设需要ui吗
  • 如何评价伊利集团网站建设长沙专业竞价优化首选
  • 网站建设费用标准做网站怎么盈利
  • 仕德伟做的网站图片怎么修initial wordpress