這篇文章主要記錄及介紹一下前端實現隱寫術及相關知識,具體內容不細節展開,因為感覺工作中實用性不強,就是知道有這個東西,可以實現這些東西,以后如果需要使用的話,再細細研究學習,不過真的感覺不錯,會玩,哈哈。
主要推薦下面這篇文章:《通過文本與圖片的隱寫來隱藏信息(非常有意思!)》- https://mp.weixin.qq.com/s/xe2vq4kImWHRbSHV4Y5rUg
一、什么是隱寫術
隱寫術是一門關於信息隱藏的技巧與科學,所謂信息隱藏指的是不讓除預期的接收者之外的任何人知曉信息的傳遞事件或者信息的內容。
如果你是一個在敵對國家的間諜,那么僅向美國發送信息便是犯罪。如果消息是加密的,那可能導致更大的罪名,當你拒絕為當局解密消息時,情況會變得更糟。隱寫術,字面意思是“隱藏的文字”,是指隱藏消息的存在。
Python Forensics 的創始人 Chet Hosmer 指出:
隱寫術掩蓋了信息的存在。不像它的表親密碼學一樣容易檢測,難以破解,隱寫術提供最有趣的特點在於“藏在眾目睽睽之下”。(Steganography hides the mere existence of the communication. Unlike its cousin cryptography, which is easy to detect but difficult to break, steganography provides the most interesting element of all ‘To Hide in Plain sight’.)
總結一下就是:密碼學讓人一看就有問題,隱寫術就怎么看都沒問題。
參考文章:《如何在字符串中隱藏秘密 —— JavaScript 中的現代文本隱藏》 - https://juejin.cn/post/6856737400396349454
二、Unicode 中的不可見字符
零寬度字符是非打印字符,是 Unicode 表的一部分。顧名思義,他們甚至不展示自己的存在。它們用於使長句換行,連接表情符號,將兩個字符連接起來,防止它們結合等。
三、StegCloak 是什么以及如何工作
《StegCloak:如何使用密碼在純文本中安全隱藏不可見的機密字符》 - https://www.freebuf.com/articles/database/240155.html
StegCloak是一款基於純 JavaScript 開發的隱寫功能模塊,該工具采用函數式編程風格設計,StegCloak 可以對文本中的機密信息進行壓縮和加密,然后再使用特殊的 Unicode 不可見字符來隱藏它。除此之外, 該工具還可以用來安全設置水印字符串,在網頁中設置不可見的腳本,或在社交媒體或其他需要涉及隱蔽通信的地方隱藏文本內容。
github 地址:https://github.com/KuroLabs/stegcloak,目前 2.3K star,功能介紹
1、使用密碼和HMAC完整性保護您的不可見的機密數據;
2、通過使用AES-256-CTR加密不可見的機密數據來實現加密安全;
3、在Unicode字符中使用了7個不可見的字符,這些字符在網頁中無處不在;
4、支持最常見的Tweets、Gmail、Whatsapp、Telegram、Instagram、Facebook等社交媒體或網絡應用;
5、減少Payload的最大壓縮(LZ,Huffman);
6、完全不可見,使用零寬度字符而不是空格或制表符;
7、速度非常快!可以在不到一秒鍾的時間內,通過將隱寫術在三個單詞隱藏在****頁面源(800行,205362個字符)的隱蔽文本中;
8、支持將文件上傳到雲端並在字符串中創建鏈接,可以實現在字符串中隱藏文件;
9、純功能性開發;
10、可將其當作API模塊、命令行接口或Web接口來使用;
其他相關文章推薦:
《神秘的JS字符串隱寫術》- https://juejin.cn/post/6867319399947681806