精品国产成人一区二区三区-女子十八毛片-欧洲性猛交-无码不卡一区二区三区在线观看-www.四虎在线-伊人网国产-国精产品自偷自偷综合下载-不卡av网站-俄罗斯黄色大片-一本久久知道综合久久-国产精品日韩一区二区-日韩精品色-免费人成网ww555kkk在线-黄色在线观看免费-日韩在线免费-久久久久99人妻一区二区三区-十八禁真人啪啪免费网站

機(jī)電之家資源網(wǎng)
單片機(jī)首頁|單片機(jī)基礎(chǔ)|單片機(jī)應(yīng)用|單片機(jī)開發(fā)|單片機(jī)文案|軟件資料下載|音響制作|電路圖下載 |嵌入式開發(fā)
培訓(xùn)信息
贊助商
一種基于Word文檔的信息隱藏方法
[1] [2]  下一頁
一種基于Word文檔的信息隱藏方法
 更新時(shí)間:2008-8-17 16:33:37  點(diǎn)擊數(shù):12
【字體: 字體顏色

    摘要:根據(jù)字符間距離的變化實(shí)現(xiàn)了Word文檔中信息的隱藏,利用VBA語言編寫Word宏實(shí)現(xiàn)。

    關(guān)鍵詞:信息隱藏 Word文檔 Word宏

1 文本信息隱藏

文本信息隱藏是通過改變文件模式或改變文本的某些基本特征實(shí)現(xiàn)信息嵌入的方法,它使文檔產(chǎn)生一定的變化,但是這種變化對人的視覺是不可見的。與圖像和聲音文件相比,在文本里面隱藏信息是比困難的。因?yàn)樗鼛缀醪话魏稳哂嘈畔?因此在文本里面隱藏信息必須尋找那些不易引起視覺感知的方法。目前在文本中主要有以下三種編碼方法[2]:

(1) 行移編碼。該技術(shù)通過垂直移動(dòng)文本行的位置實(shí)現(xiàn),通常當(dāng)一行被上移或下移時(shí),與其相鄰的兩行或其中的一行保持不動(dòng),不動(dòng)的相鄰行被看作是解碼過程中的參考位置。如可以規(guī)定行上移表示“0”,下移表示“1”。根據(jù)要嵌入文本中信息的二進(jìn)制位內(nèi)容,編碼器將文本中若干個(gè)行上移或下移來隱藏信息。解碼器同樣根據(jù)文檔中相鄰行的行間距離的差別進(jìn)行信息的提取。

(2) 字移編碼。與行移編碼類似,字移編碼技術(shù)通過使文本行內(nèi)字符發(fā)生平移,即利用字間距離的變化嵌入需要隱藏的信息。采用這種方式時(shí),相鄰字之間的距離各不相同。

(3) 特征編碼。在特征編碼方法中,觀察文本文檔并選擇一些特征量,再根據(jù)要嵌入的數(shù)據(jù)修改這些特征。特征可以是字母如b、d、h、k等中的垂直線,其長度可稍作修改以使得一般人不易發(fā)覺。相對某種給定的字體可以改變其字符高度,總有一些字母特征未作改變以幫助解碼。

本文結(jié)合字移編碼技術(shù)在Word文檔中利用VBA編程語言實(shí)現(xiàn)了信息的隱藏和提取,完成了一個(gè)編碼器和一個(gè)解碼器。

2 Word文檔中信息隱藏與提取的實(shí)現(xiàn)

在Word文檔中實(shí)現(xiàn)信息隱藏的方法是改變文檔中字符的間距離。在一篇正常的文檔中字符間距通常是標(biāo)準(zhǔn)形式,即字符間距離為0磅,也可以將某兩個(gè)字符的間距設(shè)為0.1磅。例如,或需要隱藏一個(gè)二進(jìn)制串01100101(即字符a),此時(shí)可以在Word文檔中栽個(gè)位置開始的連續(xù)9個(gè)字符的文本串,將其中的兩兩字符間距分別設(shè)為0磅、0.1磅、0.1磅、0磅、0磅、0.1磅、0磅、0.1磅,這樣實(shí)現(xiàn)信息的隱藏。提取過程與此相反,根據(jù)文檔字符間的不同間距形成被隱藏的二進(jìn)制串。

下面分析該方法的可行性。根據(jù)文獻(xiàn)[2]所述,人眼無法辨認(rèn)1/150英寸以內(nèi)的間距變化,此間距為0.16993mm,而本文所采用的0.1磅間距變化為0.05405mm,此間距變化要小于文獻(xiàn)[2]中所述的值。下面是利用該方法的實(shí)驗(yàn)結(jié)果。

下一行是Word文檔中字符間距全為0磅的正常顯示樣式:

在在在在在在在在在在在在在在

下一行是在其中隱藏了01100101二進(jìn)制串的文本顯示樣子:

在在在在在在在在在在在在在在

大量的實(shí)驗(yàn)結(jié)果也顯示,這樣的間距變化是人眼是幾乎無法辨認(rèn)的。

利用上述方法在Word中實(shí)現(xiàn)信息隱藏的關(guān)鍵是如何控制和提取文檔中字符的間距。本文利用VBA語言實(shí)現(xiàn)了兩個(gè)Word宏進(jìn)行信息量的隱藏和提取。

VBA語言是針對微軟Office文檔進(jìn)行操作的語言,它可以對Office文檔的各種操作進(jìn)行編程。下面給出該方法的VBA實(shí)現(xiàn)算法和程序的主要流程。

Sub Hide() ''以下是實(shí)現(xiàn)信息隱藏的Word宏

Dim i As Integer

Dim ch As Byte

Dim ch1 As Byte

ch=Asc("a") ch''變量中存放需要隱藏的字符

m=128

Selection.HomeKey Unit:=wdSroty *

''將文檔中的插入點(diǎn)移到文檔首部

Selection.MoveDown Unit:=wdLine,Count:=2

Selection.MoveRight Unit:=wdCharacter,Count:=1

''選擇信息隱藏的位置,此處為文檔的第三者''

For i =1 To 8 ''每次循環(huán)隱藏一位二進(jìn)制位''

Selection.MoveLeft Unit:=wdCharacter,Count:=1

Selection.MoveRight Unit:=wdCharacter,Count:=2

Selection.MoveRight Unit:=wdCharacter,Count:=2,

Extend:=wdExtend

在文檔中選中兩個(gè)相鄰的字符

With Selection.Font

ch1 = ch And m

If ch1 = m Then

.spacing = 0.1

Else

.Spacing = 0

End If

m = m /2

Eid With

''ch變量中的每一個(gè)二進(jìn)制位利用位運(yùn)算分別取出來,以設(shè)置文檔中被選中的兩個(gè)字符的間距

Next i

End Sub

上述Hide宏實(shí)現(xiàn)了在Word文檔中隱藏一個(gè)8位的二進(jìn)制串(即一個(gè)英文字符),若需要隱藏一個(gè)字符串,則只需重復(fù)上述過程。

下面是從Word文檔中提取被隱藏信息的宏。

Sub Get()

Dim i As Integer

Dim ch As Byte

Dim m As Byte

Dim k As Byte

ch =0

Selection.HomeKey Unit:=wdStory

Selection.HomeDown Unit:=wdLine,Count:=2

Selection.HomeRight Unit:=wdCharacter,Count:=1

''在文檔中定位到被隱藏信息的位置

m = 128

k = 0

For i =1 To 8

''每次循環(huán)提取出一個(gè)被隱藏的二進(jìn)制位

Selection.HomeLeft Unit:=wdCharacter,Count:=1

Selection.HomeRight Unit:=wdCharacter,Count:=2

Selection.HomeRight Unit:=wdCharacter,Count:=2,Extend:=wdExtend

在文檔中選中兩個(gè)相鄰的字符

With Selection.Font

If .Spacion = 0 Then

ch = ch And k

Else

ch=ch Or m

End If

k = k + m

m = m/2

End With

''將提取出的一每個(gè)二進(jìn)制位利用位運(yùn)算形成一個(gè)8位二進(jìn)制串(即一個(gè)字符)

Next i

MsgBox (CStrl(Chr(ch)))

''利用對話框顯示所提取的信息。

End Sub

上述算法給出在文檔中確定位置的隱藏和提取,在實(shí)際應(yīng)用也可以采用非確定的位置,如按照文件中某些特征確定隱藏位置,也可以將隱藏的位置分散到文檔中的不同位置。該方法對于信息的隱藏量是比較高的,若一篇文檔有5001個(gè)字符,則最多可隱藏5000個(gè)二進(jìn)制位。另外,也可以采用間距變化分別為0磅、0.1磅、0.2磅與0.3磅實(shí)現(xiàn)四進(jìn)制數(shù)位的隱藏,但這樣會(huì)加大字符間距變化的幅度,可能會(huì)引起懷疑。該方法的缺點(diǎn)是在文檔進(jìn)行重新排版時(shí),所隱藏的信息會(huì)丟失或產(chǎn)生錯(cuò)誤;也正是由于這個(gè)特性,可以利用它實(shí)現(xiàn)Word文檔中的數(shù)字水印,起到一定的產(chǎn)權(quán)保護(hù)作用。


 

  • 上一篇: 用PComm開發(fā)PC機(jī)與單片機(jī)的通信程序
  • 下一篇: 基于Atmega8及MSM7512的嵌入式Modem設(shè)計(jì)
  • 發(fā)表評論   告訴好友   打印此文  收藏此頁  關(guān)閉窗口  返回頂部
    熱點(diǎn)文章
     
    推薦文章
     
    相關(guān)文章
    網(wǎng)友評論:(只顯示最新5條。)
    關(guān)于我們 | 聯(lián)系我們 | 廣告合作 | 付款方式 | 使用幫助 | 機(jī)電之家 | 會(huì)員助手 | 免費(fèi)鏈接

    點(diǎn)擊這里給我發(fā)消息66821730(技術(shù)支持)點(diǎn)擊這里給我發(fā)消息66821730(廣告投放) 點(diǎn)擊這里給我發(fā)消息41031197(編輯) 點(diǎn)擊這里給我發(fā)消息58733127(審核)
    本站提供的機(jī)電設(shè)備,機(jī)電供求等信息由機(jī)電企業(yè)自行提供,該企業(yè)負(fù)責(zé)信息內(nèi)容的真實(shí)性、準(zhǔn)確性和合法性。
    機(jī)電之家對此不承擔(dān)任何保證責(zé)任,有侵犯您利益的地方請聯(lián)系機(jī)電之家,機(jī)電之家將及時(shí)作出處理。
    Copyright 2007 機(jī)電之家 Inc All Rights Reserved.機(jī)電之家-由機(jī)電一體化網(wǎng)更名-聲明
    電話:0571-87774297 傳真:0571-87774298
    杭州濱興科技有限公司提供技術(shù)支持

    主辦:杭州市高新區(qū)(濱江)機(jī)電一體化學(xué)會(huì)
    中國行業(yè)電子商務(wù)100強(qiáng)網(wǎng)站

    網(wǎng)站經(jīng)營許可證:浙B2-20080178-1
    夏河县| 闽侯县| 冕宁县| 芜湖县| 尼玛县| 额济纳旗| 淮滨县| 鞍山市| 锦州市| 洛南县| 双桥区| 奉节县| 宝坻区| 汶上县| 三原县| 饶河县| 洛阳市| 浦北县| 清苑县| 陆川县| 安徽省| 铜川市| 舟山市| 留坝县| 伊金霍洛旗| 鲁甸县| 颍上县| 资阳市| 巴林左旗| 烟台市| 桂阳县| 云安县| 祥云县| 北安市| 菏泽市| 宜黄县| 十堰市| 永和县| 清原| 英吉沙县| 全南县|