自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

隱寫術(shù):如何正確保護(hù)文章的版權(quán)?

新聞
在網(wǎng)頁(yè)上面,一切都正常,但是一旦有人復(fù)制了你的內(nèi)容,直接轉(zhuǎn)載到了它自己的網(wǎng)站上。那么你可以到法院去起訴他了,因?yàn)檫@些沒(méi)有寬度的符號(hào),就是證據(jù)。

[[378830]]

首先,我們來(lái)看一段文字:

一我日是一青技南是我一是個(gè)青每南天我更是新青的南欄我目是,青希南望我做是到青在南每我天是幾青分南鐘我讓是你青獲南得我提是高青。南

看完以后,你有什么想法?你會(huì)不會(huì)覺(jué)得我是自戀狂?神經(jīng)病?復(fù)讀機(jī)?臉滾鍵盤?

很好,那么再看下面這一句話:

一‌‌‍‍‍‌‍‍‍‍‌‍‍‍‌日‌‌‍‍‌‌‍‍‍‌‍‌‌‌‌一‌‍‍‌‍‌‌‌‍‌‍‌‍‍‌‍技‌‍‌‍‍‌‌‍‌‍‌‍‌‌‌是‌‌‍‍‍‌‍‍‍‍‌‍‍‍‌一‌‌‍‍‌‌‍‍‍‌‍‌‌‌‌個(gè)‌‍‍‌‍‌‌‌‍‌‍‌‍‍‌‍每‌‍‌‍‍‌‌‍‌‍‌‍‌‌‌天‌‌‍‍‍‌‍‍‍‍‌‍‍‍‌更‌‌‍‍‌‌‍‍‍‌‍‌‌‌‌新‌‍‍‌‍‌‌‌‍‌‍‌‍‍‌‍的‌‍‌‍‍‌‌‍‌‍‌‍‌‌‌欄‌‌‍‍‍‌‍‍‍‍‌‍‍‍‌目‌‌‍‍‌‌‍‍‍‌‍‌‌‌‌,‌‍‍‌‍‌‌‌‍‌‍‌‍‍‌‍希‌‍‌‍‍‌‌‍‌‍‌‍‌‌‌望‌‌‍‍‍‌‍‍‍‍‌‍‍‍‌做‌‌‍‍‌‌‍‍‍‌‍‌‌‌‌到‌‍‍‌‍‌‌‌‍‌‍‌‍‍‌‍在‌‍‌‍‍‌‌‍‌‍‌‍‌‌‌每‌‌‍‍‍‌‍‍‍‍‌‍‍‍‌天‌‌‍‍‌‌‍‍‍‌‍‌‌‌‌幾‌‍‍‌‍‌‌‌‍‌‍‌‍‍‌‍分‌‍‌‍‍‌‌‍‌‍‌‍‌‌‌鐘‌‌‍‍‍‌‍‍‍‍‌‍‍‍‌讓‌‌‍‍‌‌‍‍‍‌‍‌‌‌‌你‌‍‍‌‍‌‌‌‍‌‍‌‍‍‌‍獲‌‍‌‍‍‌‌‍‌‍‌‍‌‌‌得‌‌‍‍‍‌‍‍‍‍‌‍‍‍‌提‌‌‍‍‌‌‍‍‍‌‍‌‌‌‌高‌‍‍‌‍‌‌‌‍‌‍‌‍‍‌‍。‌‍‌‍‍‌‌‍‌‍‌‍‌‌‌

是不是正常多了?

但是如果我說(shuō)這兩段話,實(shí)際上是一樣的,你信不信?

現(xiàn)在有4個(gè)中文漢字:我是青南,首先介紹Python的ord函數(shù),它可以查詢Unicode字符對(duì)應(yīng)的Unicode碼

  1. >>> ord('我'
  2. 25105 
  3. >>> ord('是'
  4. 26159 
  5. >>> ord('青'
  6. 38738 
  7. >>> ord('南'
  8. 21335 

接下來(lái),介紹另一個(gè)函數(shù)chr。它的作用是把Unicode編碼轉(zhuǎn)換為Unicode字符。

例如:

  1. >>> chr(21335) 
  2. '南' 
  3. >>> chr(38738) 
  4. '青' 

最后,介紹bin函數(shù),它可以把十進(jìn)制數(shù)字轉(zhuǎn)換為二進(jìn)制數(shù)字:

  1. >>> bin(6) 
  2. '0b110' 
  3. >>> bin(57) 
  4. '0b111001' 

以上就是本文涉及到的全部知識(shí)。下面,開(kāi)始轉(zhuǎn)換。

由于Unicode是十進(jìn)制數(shù)字,那么就能進(jìn)一步轉(zhuǎn)換為二進(jìn)制數(shù)字:

  1. >>> bin(25105) 
  2. '0b110001000010001' 

把前面的0b去掉:

  1. >>> bin(25105)[2:] 
  2. '110001000010001' 

那么,我是青南轉(zhuǎn)換為二進(jìn)制以后,分別為:

  1. >>> for char in '我是青南'
  2. ...  print(char, bin(ord(char))[2:]) 
  3. ... 
  4. 我 110001000010001 
  5. 是 110011000101111 
  6. 青 1001011101010010 
  7. 南 101001101010111 

那么原來(lái)那個(gè)看起來(lái)很混亂的句子是怎么生成的呢?

  1. from itertools import cycle 
  2.  
  3. signature = '我是青南' 
  4. text = '一日一技是一個(gè)每天更新的欄目,希望做到在每天幾分鐘讓你獲得提高。' 
  5. complex_text = '' 
  6. for word, sig in zip(text, cycle(signature)): 
  7.     complex_text = complex_text + word + sig 
  8. print(complex_text) 

運(yùn)行效果如下圖所示:

 

那么如果把我是青南先轉(zhuǎn)換為他們對(duì)應(yīng)的二進(jìn)制字符串,然后再穿插到原文中,效果就會(huì)變成這樣:

  1. from itertools import cycle 
  2.  
  3. signature_bin_list = ['110001000010001'
  4.                       '110011000101111'
  5.                       '1001011101010010'
  6.                       '101001101010111'
  7. text = '一日一技是一個(gè)每天更新的欄目,希望做到在每天幾分鐘讓你獲得提高。' 
  8. complex_text = '' 
  9. for word, sig in zip(text, cycle(signature_bin_list)): 
  10.     complex_text = complex_text + word + sig 
  11. print(complex_text) 

運(yùn)行效果如下:

 

到目前為止,你肯定不知道我在干什么。

下面,我將會(huì)介紹兩個(gè)神奇的數(shù)字:

  1. 8204 
  2. 8205 

如果我使用chr把這兩個(gè)數(shù)字轉(zhuǎn)換為Unicode字符會(huì)怎么樣?

我們來(lái)試一試:

 

很奇怪對(duì)吧?什么東西都沒(méi)有?難道這兩個(gè)數(shù)字轉(zhuǎn)換為Unicode字符以后,都是空格??

沒(méi)事,我們把字符串形式的二進(jìn)制數(shù)字中的1替換為chr(8204),把0替換為chr(8025)

  1. from itertools import cycle 
  2.  
  3. signature_bin_list = ['110001000010001'
  4.                       '110011000101111'
  5.                       '1001011101010010'
  6.                       '101001101010111'
  7. text = '一日一技是一個(gè)每天更新的欄目,希望做到在每天幾分鐘讓你獲得提高。' 
  8. complex_text = '' 
  9. for word, sig in zip(text, cycle(signature_bin_list)): 
  10.     complex_text = complex_text + word + sig.replace('1', chr(8204)).replace('0', chr(8205)) 
  11. print(complex_text) 

運(yùn)行效果是什么樣的?請(qǐng)看下面這張圖:

 

奇奇怪怪的符號(hào)沒(méi)有了,一切都變得干干凈凈,就像下面這樣:

一‌‌‍‍‍‌‍‍‍‍‌‍‍‍‌日‌‌‍‍‌‌‍‍‍‌‍‌‌‌‌一‌‍‍‌‍‌‌‌‍‌‍‌‍‍‌‍技‌‍‌‍‍‌‌‍‌‍‌‍‌‌‌是‌‌‍‍‍‌‍‍‍‍‌‍‍‍‌一‌‌‍‍‌‌‍‍‍‌‍‌‌‌‌個(gè)‌‍‍‌‍‌‌‌‍‌‍‌‍‍‌‍每‌‍‌‍‍‌‌‍‌‍‌‍‌‌‌天‌‌‍‍‍‌‍‍‍‍‌‍‍‍‌更‌‌‍‍‌‌‍‍‍‌‍‌‌‌‌新‌‍‍‌‍‌‌‌‍‌‍‌‍‍‌‍的‌‍‌‍‍‌‌‍‌‍‌‍‌‌‌欄‌‌‍‍‍‌‍‍‍‍‌‍‍‍‌目‌‌‍‍‌‌‍‍‍‌‍‌‌‌‌,‌‍‍‌‍‌‌‌‍‌‍‌‍‍‌‍希‌‍‌‍‍‌‌‍‌‍‌‍‌‌‌望‌‌‍‍‍‌‍‍‍‍‌‍‍‍‌做‌‌‍‍‌‌‍‍‍‌‍‌‌‌‌到‌‍‍‌‍‌‌‌‍‌‍‌‍‍‌‍在‌‍‌‍‍‌‌‍‌‍‌‍‌‌‌每‌‌‍‍‍‌‍‍‍‍‌‍‍‍‌天‌‌‍‍‌‌‍‍‍‌‍‌‌‌‌幾‌‍‍‌‍‌‌‌‍‌‍‌‍‍‌‍分‌‍‌‍‍‌‌‍‌‍‌‍‌‌‌鐘‌‌‍‍‍‌‍‍‍‍‌‍‍‍‌讓‌‌‍‍‌‌‍‍‍‌‍‌‌‌‌你‌‍‍‌‍‌‌‌‍‌‍‌‍‍‌‍獲‌‍‌‍‍‌‌‍‌‍‌‍‌‌‌得‌‌‍‍‍‌‍‍‍‍‌‍‍‍‌提‌‌‍‍‌‌‍‍‍‌‍‌‌‌‌高‌‍‍‌‍‌‌‌‍‌‍‌‍‍‌‍。‌‍‌‍‍‌‌‍‌‍‌‍‌‌‌

現(xiàn)在,你在電腦上把這一段話復(fù)制下來(lái),存到記事本里面,效果如下圖所示:

 

看起來(lái)很正常對(duì)吧。那么現(xiàn)在,用vim把它打開(kāi),你看到的將會(huì)是這樣的:

 

在網(wǎng)頁(yè)上面,一切都正常,但是一旦有人復(fù)制了你的內(nèi)容,直接轉(zhuǎn)載到了它自己的網(wǎng)站上。那么你可以到法院去起訴他了,因?yàn)檫@些沒(méi)有寬度的符號(hào),就是證據(jù)。

 

在下一次的文章中,我將會(huì)講到,如何把本文的過(guò)程你過(guò)來(lái),把隱藏的信息提取出來(lái)。

本文轉(zhuǎn)載自微信公眾號(hào)「未聞Code」,可以通過(guò)以下二維碼關(guān)注。轉(zhuǎn)載本文請(qǐng)聯(lián)系未聞Code公眾號(hào)。

 

責(zé)任編輯:武曉燕 來(lái)源: 未聞Code
相關(guān)推薦

2018-05-18 14:40:34

2020-09-23 17:16:52

Python技術(shù)工具

2021-02-04 20:57:19

顯隱術(shù)版權(quán)字符

2023-07-13 12:18:24

2024-07-30 08:16:18

Python代碼工具

2018-08-10 09:52:00

2024-04-16 11:49:08

2019-07-01 13:06:45

隱寫術(shù)網(wǎng)絡(luò)安全威脅

2021-01-20 05:37:14

大括號(hào)Python

2019-04-08 10:26:20

2023-09-08 15:07:22

CopilotAI微軟

2014-12-18 10:57:27

數(shù)據(jù)安全敏感數(shù)據(jù)數(shù)據(jù)保護(hù)

2012-06-02 01:20:02

Java版權(quán)保護(hù)

2020-10-28 10:46:52

Purple Fox攻

2021-01-27 11:31:48

物聯(lián)網(wǎng)設(shè)備物聯(lián)網(wǎng)IOT

2021-07-25 22:51:49

人工智能版權(quán)文學(xué)

2014-04-18 10:18:15

2023-03-31 10:40:22

2023-03-31 10:26:52

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)