hbuilder怎么没法插入字符了_一个你所不知道的加密方式--零宽字符加密
开门见山
什么是0宽字符?
顾名思义,就是字节宽度为0的特殊字符。
比如:
你好
看起来是一句简单的打招呼,实际上还有隐含信息。
我们把它复制到这里
Zero Width Lib
如下图所示:
我们可以看到,这句话还有隐藏的加密内容。
使用方法如下:
一探究竟
相信你们跟我一样,想知道它究竟是怎么一回事。
先看看下面这个靶场,和上面一样,这里面有隐藏内容,也就是0宽字符
靶场
打开F12看看
有一长串的字符编码,这就是0宽字符
它为什么不会显示在页面上呢?
首先,我们要知道这里面的‍
是什么?
它叫零宽连字,全称是Zero Width Joiner,简称:ZWJ,是一个不打印字符,放在某些需要复杂排版语言(如阿拉伯语、印地语)的两个字符之间,使得这两个本不会发生连字的字符产生了连字效果。零宽连字符的Unicode码位是U+200D (HTML: ‍
)。
怎么实现的?
首先,输入需要被加密的内容将被转换为其二进制形式,然后该二进制将被转换为一系列表示每个二进制数字的零宽度字符。然后可以将零宽度的字符串不可见地插入正常文本中。如果将文本粘贴在其他地方,则可以提取零宽度的字符串,然后反向进行操作以找出被加密的内容!
具体加密过程
1.将需加密的内容转换为二进制
只是将每个字符转换为其等效的二进制
const zeroPad = num => ‘00000000’.slice(String(num).length) + num; const textToBinary = username => (username.split('').map(char =>zeroPad(char.charCodeAt(0).toString(2))).join(' ')
);
2.将二进制转换为0宽字符
它将遍历二进制字符串,并将每个1转换为0宽度空间,将每个0转换为零宽非连接符。转换字母后,我们将插入0宽连接符,然后再下一个。
const binaryToZeroWidth = binary => (binary.split('').map((binaryNum) => {const num = parseInt(binaryNum, 10);if (num === 1) {return ''; // zero-width space} else if (num === 0) {return ''; // zero-width non-joiner}return ''; // zero-width joiner}).join('') // zero-width no-break space
);
3.插入正常文本中
需要注意的是加密与解密所使用的字典必须一致,也就是说,在哪儿进行加密的,就要在哪儿解密。
解密过程就是加密过程的反逻辑
有啥作用
很明显,可以用于文本加密、文章水印等。
hbuilder怎么没法插入字符了_一个你所不知道的加密方式--零宽字符加密相关推荐
- 一个你所不知道的暗黑游戏圈
私服.侵权.大公司的战略转型这些内容只是游戏圈的表面,与暗黑游戏圈相比这些内容简直弱爆了,在暗黑游戏圈里,洗钱.血腥追杀创业者等事件层出不穷,这里充满着丛林法则,但是却从来无人揭示这个圈子. 近期,我 ...
- 深度报道 一个你所不知道的史玉柱
他突然走了进来,没有任何征兆,绕过横在我面前的椅子,摘下墨镜,冲着我笑.他伸出右手要同我握手,因为他比我高了将近十厘米,这样做时他要谦卑地低头弯腰. 他脸上满是笑容,坐下时马上掏出KENT香烟,摆在会 ...
- javplayer 使用教程_视频教程 | 你所不知道的示波器使用技巧
EEWorld 电子资讯 犀利解读 技术干货 每日更新 示波器作为工程师几乎天天使用的得力工具,其重要性毋庸置疑.尤其随着新器件应用,新技术的发展,新标准的推出工程师面临着更加复杂的信号设计及验证的要 ...
- 统计不同字符个数。用户从键盘输入一行字符,编写一个程序,统计并输出其中英文字符、数字、空格和其他字符的个数
统计不同字符个数.用户从键盘输入一行字符,编写一个程序,统计并输出其中英文字符.数字.空格和其他字符的个数 s = input("请输入一行字符:") letter = 0 #字母 ...
- android零宽空格,零宽字符文本水印原理
最近看到word-wrap源码里面有一个正则,有点迷惑:if (options.cut !== true) { regexString += '([\\s\u200B]+|$)|[^\\s\u200B ...
- 零宽字符隐写——2021网刃杯CTF 签到
0x01 零宽字符 零宽度字符是一些不可见的,不可打印的字符.它们存在于页面中主要用于调整字符的显示格式,下面就是一些常见的零宽度字符及它们的unicode码和原本用途: 零宽度空格符 (zero-w ...
- ai的弹窗点了都不响应_【评价集合】拼多多评价,你所不知道的点都在这里!...
对于在拼多多开店的商家们来说,评价是消费者对于商品的好坏程度的一个评分,评价的高低不仅仅会影响到商品的销量,更会影响转化率以及权重!所以为了店铺商品的长远发展打算!各位商家在求取出评.好评的道路上不断 ...
- python 函数调用 不允许关键字参数_你所不知道的Python|函数参数的演进之路
原标题:你所不知道的Python|函数参数的演进之路 函数参数处理机制是Python中一个非常重要的知识点,随着Python的演进,参数处理机制的灵活性和丰富性也在不断增加,使得我们不仅可以写出简化的 ...
- 主角是李逍遥的Java游戏_经典单机游戏仙剑奇侠传一20周年,你所不知道的隐藏剧情...
原标题:经典单机游戏仙剑奇侠传一20周年,你所不知道的隐藏剧情 要说起经典的RPG游戏那可是当属仙剑莫属了,当年用着老式机和一众小伙伴在一起偷着玩的时光,大家还记得吗.这款游戏可算是开创了一个时代,具 ...
最新文章
- 如何有效抵抗电脑辐射
- 克莱门特公司在俄罗斯一个数据中心安装其新型冷却系统
- Java多线程:Semaphore
- 成为一名优秀的程序员基本要素
- C++并发编程实战---阅读笔记
- android studio读写txt,Android Studio从.txt文件读取/写入,保存路径?
- Eve-NG-Toolkit
- 开源流媒体系统:OBS ( Open Broadcaster Software ) 介绍
- 凸优化第四章凸优化问题 4.1 优化问题
- 三菱plc编程软件gx+developer安装教程
- 智能优化算法课程设计
- OpenCV实践之GMS网格运动统计策略的特征匹配算法
- 【笔记分享】Android TV 红外蓝牙遥控器添加
- 聆听音乐-推荐好听的歌曲
- 矩阵论笔记(七)——矩阵的微分和积分
- 为什么软件测试人员都不通过QQ、微信、邮件上报Bug?
- 网络安全——数据库基础知识
- Ubuntu18.04耳机无声音解决方法
- windows做时间服务器,linux和windows时间同步
- 还是关于pdflatex生成的文件复制粘贴出现乱码问题