公交车上荫蒂添的好舒服的电影-公用玩物(np双xing总受)-公用小荡货芊芊-公与妇仑乱hd-攻把受做哭边走边肉楼梯play-古装一级淫片a免费播放口

LOGO OA教程 ERP教程 模切知識(shí)交流 PMS教程 CRM教程 開(kāi)發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

使用ASP加密算法加密你的數(shù)據(jù)

admin
2010年5月8日 14:49 本文熱度 7698
[p] 簡(jiǎn)介 [br] 首先簡(jiǎn)單介紹一下有關(guān)加密的背景。由于美國(guó)禁止幾種密碼算法的對(duì)外出口的加密位數(shù)(例如ssl的40位加密限制),本文將介紹一種asp可以使用的簡(jiǎn)單字符加密算法,而不是那些受限制的加密算法。其實(shí),這里介紹的加密算法對(duì)于一般的運(yùn)用來(lái)說(shuō)已經(jīng)足夠解密人麻煩一陣子的了。它的加密基礎(chǔ)是最簡(jiǎn)單的vernum密碼方法,它的基本原理是,需要有一個(gè)需要加密的明文和一個(gè)隨機(jī)生成的解密鑰匙文件。然后使用這兩個(gè)文件組合起來(lái)生成密文。[br] (明文) 組合 (密鑰) = 加密后的密文[br] 所以本文介紹的是生成密鑰的代碼。我們假設(shè)我們生成的密鑰為512位長(zhǎng)的密鑰,它已經(jīng)足夠來(lái)加密一個(gè)文本字符了。代碼如下:[br] keygen.asp文件[br] <% [br] '****************************** [br] ' keygen.asp [br] '****************************** [br] const g_keylocation = "c:\key.txt" [br] const g_keylen = 512 [br] on error resume next [br] call writekeytofile(keygen(g_keylen),g_keylocation) [br] if err <> 0 then [br] response.write "error generating key." & "

" [br] response.write err.number & " [br] " [br] response.write err.description & " [br] " [br] else [br] response.write "key successfully generated." [br] end if [br] sub writekeytofile(mykeystring,strfilename) [br] dim keyfile, fso [br] set fso = server.createobject("scripting.filesystemobject") [br] set keyfile = fso.createtextfile(strfilename, true) [br] keyfile.writeline(mykeystring) [br] keyfile.close [br] end sub [br] function keygen(ikeylength) [br] dim k, icount, strmykey [br] lowerbound = 35 [br] upperbound = 96 [br] randomize ' initialize random-number generator. [br] for i = 1 to ikeylength [br] s = 255 [br] k = int(((upperbound - lowerbound) + 1) * rnd + lowerbound) [br] strmykey = strmykey & chr(k) & "" [br] next [br] keygen = strmykey [br] end function [br] %>[br]在iis下運(yùn)行上面的keygen.asp頁(yè)面。你只需要如此做一次,他將把密鑰寫(xiě)入文件 c:\key.txt中 (如果你愿意的話,你也可以把這個(gè)文件放到另外一個(gè)更加安全的地方)。然后你可以打開(kāi)這個(gè)key.txt文件,它將包含512個(gè)ascii碼在35到96之間的字符。并且由于是隨機(jī)生成的,所以每個(gè)人的私人密鑰文件key.txt將是不一樣的,下面是一個(gè)例子密鑰文件: [br] iy/;$>=3)?^-+7m32#q]voii.q=ofmc`:p7_b;#,+.aw_/+']dib;2dtia57tt&-)o'/*f' [br] m>h.xh5w^0y*=71+5*^`^pkj(=e/x#7a:?,s>r&t;+b#<:-*\@)x9f`_`%qa3z95.?_t#1,$2#fw [br] w5pbh^*<])a(s0@avd8c^q0r^t1d?(1+,ye71x+.*+u$:3xo^q].kg&0n0];[lj [p] 上面討論了如何生成密鑰,下面將介紹如何使用這個(gè)密鑰來(lái)加密和解密一個(gè)字符串。 [br] 下面的代碼就是能夠同時(shí)實(shí)現(xiàn)這個(gè)功能的函數(shù) [br] crypt.asp文件 [br] <% [br] dim g_key [br] const g_cryptthis = "now is the time for all good men to come to the aid of their country." [br] const g_keylocation = "c:\key.txt" [br] g_key = mid(readkeyfromfile(g_keylocation),1,len(g_cryptthis)) [br] response.write "

original string: " & g_cryptthis & "

" [br] response.write "

key value: " & g_key & "

" [br] response.write "

encrypted cyphertext: " & encrypt(g_cryptthis) & "

" [br] response.write "

decrypted cyphertext: " & decrypt(encrypt(g_cryptthis)) & "

" [br] function encrypt(strcryptthis) [br] dim strchar, ikeychar, istringchar, i [br] for i = 1 to len(strcryptthis) [br] ikeychar = asc(mid(g_key,i,1)) [br] istringchar = asc(mid(strcryptthis,i,1)) [br] ' *** uncomment below to encrypt with addition, [br] ' icryptchar = istringchar + ikeychar [br] icryptchar = ikeychar xor istringchar [br] strencrypted = strencrypted & chr(icryptchar) [br] next [br] encrypt = strencrypted [br] end function [br] function decrypt(strencrypted) [br] dim strchar, ikeychar, istringchar, i [br] for i = 1 to len(strencrypted) [br] ikeychar = (asc(mid(g_key,i,1))) [br] istringchar = asc(mid(strencrypted,i,1)) [br] ' *** uncomment below to decrypt with subtraction [br] ' idecryptchar = istringchar - ikeychar [br] idecryptchar = ikeychar xor istringchar [br] strdecrypted = strdecrypted & chr(idecryptchar) [br] next [br] decrypt = strdecrypted [br] end function [br] function readkeyfromfile(strfilename) [br] dim keyfile, fso, f [br] set fso = server.createobject("scripting.filesystemobject") [br] set f = fso.getfile(strfilename) [br] set ts = f.openastextstream(1, -2) [br] do while not ts.atendofstream [br] keyfile = keyfile & ts.readline [br] loop [br] readkeyfromfile = keyfile [br] end function [br] %> [br] 在crypt.asp中我們首先從密鑰文件中得到密鑰值,然后從這段密鑰中截取和我們需要加密的明文同樣長(zhǎng)度的密鑰。然后使用一個(gè)簡(jiǎn)單的異或操作將明文和密鑰進(jìn)行運(yùn)算,那么得到的結(jié)果就是加密后的密文了。過(guò)程很簡(jiǎn)單的。 [br] 由于是使用了異或操作,所以解密將非常簡(jiǎn)單,只要使用同樣的密鑰對(duì)密文再次進(jìn)行異或操作就能夠解密了。[br] 在上面介紹的基礎(chǔ)上,你可以少加改動(dòng),就可以使用同樣的方法加密一個(gè)文件。[br] 唯一需要注意的是,對(duì)于一個(gè)二進(jìn)制文件,你需要做一些完整性檢查以保證轉(zhuǎn)換回來(lái)的字符不要越界。[br] 現(xiàn)在你需要做的就是把密鑰保存在服務(wù)器上的一個(gè)安全的地方(不能夠被外部訪問(wèn))[br] 附注: [br] vernam密碼是由gilbert vernam (他是at&t的工程師)在1918年發(fā)明的。 [/p]


該文章在 2010/5/8 14:49:28 編輯過(guò)
關(guān)鍵字查詢
相關(guān)文章
正在查詢...
點(diǎn)晴ERP是一款針對(duì)中小制造業(yè)的專業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國(guó)內(nèi)大量中小企業(yè)的青睞。
點(diǎn)晴PMS碼頭管理系統(tǒng)主要針對(duì)港口碼頭集裝箱與散貨日常運(yùn)作、調(diào)度、堆場(chǎng)、車(chē)隊(duì)、財(cái)務(wù)費(fèi)用、相關(guān)報(bào)表等業(yè)務(wù)管理,結(jié)合碼頭的業(yè)務(wù)特點(diǎn),圍繞調(diào)度、堆場(chǎng)作業(yè)而開(kāi)發(fā)的。集技術(shù)的先進(jìn)性、管理的有效性于一體,是物流碼頭及其他港口類(lèi)企業(yè)的高效ERP管理信息系統(tǒng)。
點(diǎn)晴WMS倉(cāng)儲(chǔ)管理系統(tǒng)提供了貨物產(chǎn)品管理,銷(xiāo)售管理,采購(gòu)管理,倉(cāng)儲(chǔ)管理,倉(cāng)庫(kù)管理,保質(zhì)期管理,貨位管理,庫(kù)位管理,生產(chǎn)管理,WMS管理系統(tǒng),標(biāo)簽打印,條形碼,二維碼管理,批號(hào)管理軟件。
點(diǎn)晴免費(fèi)OA是一款軟件和通用服務(wù)都免費(fèi),不限功能、不限時(shí)間、不限用戶的免費(fèi)OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved

主站蜘蛛池模板: 69精彩对白视频国产 | 国产午夜激情无码av毛片 | 国产精品疯狂输出白丝jk | 成人午夜电影免费完整在线看 | 911色主站性欧美 | 国产精品成人久久 | 成人无码精品久久小说 | 国产毛片精品区二区色糟蹋 | 国产女人高潮视频在线观看 | 国产成人亚洲精品电影香蕉 | 精品国产高清一区二区广区 | 国产午夜人成视频在线观看 | 99久久精品国产一区二区免费 | 国产精品一区二区手机在线观看 | av无码午夜福| 国产一区二区精品在线观看 | 国产av无码亚洲av无码 | 99久久国产宗和精品1上 | 国产三级观看久久 | 91精品国产成人 | 精品人妻无码中文久久免手 | 丰满人妻av无码一区二区三区 | 国产91成人在在线播放 | 成人3dh动漫在线播 成人3d动漫一区二 成人3d动漫在线观看 | 国产精品成人久久久久久久 | 国产成人手机视频 | 国产一级毛片国语版 | 国产熟女亚洲精品明星自拍 | 国产精品亚洲一区 | 国产高清在线a视频大全首页 | 国产成人综合在线观看 | 国产免费啪啪 | 国产麻豆一级在线观看 | 国产日韩欧美不卡在线二区 | 果冻传媒app在线播放 | 2025天天做夜夜爽视频 | 成在线人视频免费视频 | 国产成人av一区二区三区 | 国产蜜桃色欲91精品一区二区 | 国产精品欧美精品aⅴ在线 国产精品欧美精品国产主播 | 加勒比精品性爱视频在线观看 |