按位异或加密字符串,字符串加解密都是该函数
缺陷是加密密钥使用的字符最好不要出现需要加密的字符串中的字符,一旦出现原字符与加密字符一样额情况,异或结果为0,导致不能还原字符串,可以考虑更改算法避免这种情况

import _ from 'lodash'export const xor = str => {const key = '^%@*$' // 加密密钥,这个随便写const strlength = str.lengthconst keylength = key.lengthconst repeatkey = _.repeat(key, _.floor(strlength / keylength) + 1)let newstr = ''for (let index = 0; index < strlength; index++) {const n = str.charCodeAt(index) ^ repeatkey.charCodeAt(index)newstr += String.fromCharCode(n)}return newstr
}

JS使用按位异或方式加密字符串相关推荐

  1. python图片压缩pako_vue中使用 pako.js 解密 gzip加密字符串的方法

    前言 今天跟后台对接一个接口,接受到一个加密的值,说是通过gzip加密过的,然后就蒙蔽了, 赶紧上百度找了一下资料,通过一篇文章(原文在底部)发现有个js库可以解密,就下载轻松解密了 实现代码 pok ...

  2. Jva编解码,加密工具类大全(Base64编解码,URL 编解码,sha56_Hmac加密,MD5对字符串进行加密,java自带类实现SHA-256方式加密)

    Base64编解码 /*** Base64编码.*/public static String encodeBase64(byte[] input) {return new String(Base64. ...

  3. 聊聊 Python 调用 JS 的几种方式,你都知道吗?

    1. 前言 日常 Web 端爬虫过程中,经常会遇到参数被加密的场景,因此,我们需要分析网页源代码 通过调式,一层层剥离出关键的 JS 代码,使用 Python 去执行这段代码,得出参数加密前后的 Py ...

  4. 爬虫--js加密数据(盐值加密和时间戳)和python转译

    爬虫–js加密数据(盐值加密和时间戳)和python转译 1.首先进行js在线调试 ​​​​​​ 在本地文件中创建一个和原网址js文件所在路径一致的文件夹,将全部js文件保存到本地目的文件中. 在so ...

  5. python调用js接口_最全总结!聊聊 Python 调用 JS 的几种方式

    原标题:最全总结!聊聊 Python 调用 JS 的几种方式 作者 | 星安果 来源 | AirPython 1. 前言 日常 Web 端爬虫过程中,经常会遇到参数被加密的场景,因此,我们需要分析网页 ...

  6. Python 调用 JS 的几种方式

    前言 日常 Web 端爬虫过程中,经常会遇到参数被加密的场景,因此,我们需要分析网页源代码 通过调式,一层层剥离出关键的 JS 代码,使用 Python 去执行这段代码,得出参数加密前后的 Pytho ...

  7. python中字符串异或_python 异或加密字符串的实例

    python 异或加密字符串的实例 做个简单习题:输入明文给定秘钥,密文还原,按位异或处理. import base64 as b64 def xor_encrypt(tips,key): ltips ...

  8. Node.js和NoSQL开发比特币加密货币应用程序(下)

    在使用Node.js和NoSQL开发比特币加密货币应用程序(上)中,我们创建了HD钱包,它可以为给定的种子生成无限量的密钥,每个密钥代表一个用户钱包.我们将根据主种子创建每个包含钱包的用户帐户.下面我 ...

  9. mysql unescape解码_PHP解密Unicode及Escape加密字符串

    本文给大家分享一个PHP解密Unicode及Escape加密字符串函数 function uni_decode($s) { preg_match_all('/\&\#([0-9]{2,5})\ ...

最新文章

  1. 聚类算法K-Means, K-Medoids, GMM, Spectral clustering,Ncut .
  2. php如何知道服务器剩余空间,远程简单地获得每台服务器的cpu与memory使用情况
  3. 分度器中硒定位器的完整指南(示例)
  4. person p = new person();_Python函数__new__及__init__作用及区别解析
  5. android 不同项目代码合并在一块,android - 是否可以将两个(正在积极开发中的)Android应用程序模块合并到同一个Android Studio项目中? - 堆栈内存溢出...
  6. 华为P50渲染图曝光:后背丑哭?
  7. linux redis 简书,Linux | Redis
  8. 学习 Message(11): 测试 TWMMouse 结构相关的鼠标消息
  9. 在VC2015里包含了lib库,但没有设置对路径的出错
  10. CSDN - markdown 编辑器模板
  11. 2020ICPC上海 E.The Journey of Geor Autumn
  12. linux 网络配置 nm_controlled,LINUX centos7.6修改静态IP与配置参数NM_CONTROLLED
  13. 1236: 数的逆转
  14. 2.words平均长度
  15. 别忽悠我,征信真的有黑名单吗?
  16. 【Vue】pc和移动端网页样式适配
  17. Page Register
  18. Unity3D打包设置成窗口模式(可调节像素)
  19. Revit模型多文件合模教程
  20. tcpdump抓包,并保存为文件

热门文章

  1. 全选按钮的使用。winfrom程序中,对全选按钮的理解,欢迎拍砖!
  2. Community Server系列之四:Ajax在CS2.0中的应用1
  3. C# WPF MVVM开发框架Caliburn.Micro View / View Model 命名⑨
  4. 从 ThreadLocal 到 AsyncLocal
  5. asp.net core自定义依赖注入容器,替换自带容器
  6. 那些被.NET大厂拒绝的大佬们,究竟弱在哪里?
  7. 【复杂系统迁移 .NET Core平台系列】之静态文件
  8. 微软发布了开发社区采用.NET Standard的最新信息
  9. Visual Studio 支持 Java?谣言止于智者
  10. windows container 踩坑记