當前位置:首頁 » 密碼管理 » asp加密解密函數

asp加密解密函數

發布時間: 2022-05-12 14:14:27

『壹』 Asp 對字元串 簡單 加密解密 高效演算法

'試試這個函數如何
<%
Function Enc(s)
str=""
key=""
dim l(130)
for i=1 to 130
if i=32 then l(i)=" "
li=instr(str,chr(i))
if li>0 then l(i)=mid(key,li,1)
next
for i=1 to len(s)
e=e&l(asc(mid(s,i,1)))
next
enc=e
End Function
%>

<%=Enc("hello world")%>

生成隨機Key的方法

<%
Function GetKey()
randomize
key=""
for n=1 to 1000
i=int(rnd*62)+1
j=int(rnd*62)+1
si=mid(key,i,1)
sj=mid(key,j,1)
key=replace(key,si,"-")
key=replace(key,sj,si)
key=replace(key,"-",sj)
next
GetKey=key
End Function
%>

『貳』 ASP字元串加密解密

<%
'ASP 字元串加密函數EncryptText()
'strEncryptionKey:加密key字元串,用以區別不同模塊加密演算法
'strTextToEncrypt:欲加密字元串
Function EncryptText(ByVal strEncryptionKey, ByVal strTextToEncrypt)
Dim outer, inner, Key, strTemp
For outer = 1 To Len(strEncryptionKey)
key = Asc(Mid(strEncryptionKey, outer, 1))
For inner = 1 To Len(strTextToEncrypt)
strTemp = strTemp & Chr(Asc(Mid(strTextToEncrypt, inner, 1)) Xor key)
key = (key + Len(strEncryptionKey)) Mod 256
Next
strTextToEncrypt = strTemp
strTemp = ""
Next
EncryptText = strTextToEncrypt
End Function

response.write EncryptText("mima","zifuchuan")
%>

『叄』 ASP文件都加密了,不知道怎麼解密,有高手指點下嗎

這個其實不是加密,只不過是增加代碼的復雜程度和迷惑性而已,它最終仍然是要自覺把代碼恢復為正常代碼再繼續運行的(換句話說就是你無須專門去解密它,它自己會自動解密後再發送到瀏覽器的),我們要做的就是在它自動解密後即截獲它的代碼,那麼獲得的就是解密後的代碼了。
就這條題目而言,CCYCCC這個函數就是它的解密函數,是最關鍵的地方,找到它所有問題就迎刃而解了。這個函數是肯定存在的,如果當前頁面沒找到,那就肯定在Include文件中。
具體做法:
新建一個asp文件:
----------------------------------------------------------
<%
function CCYCCC(s)
'把原文件中的CCYCCC函數的代碼復制到這里
end function
jm=CCYCCC(ChrW(107)&ChrW(80)&ChrW(115)&ChrW(126)&ChrW(114)&ChrW(37)&......把原文件中的那些亂七八糟的代碼都復制到這里......ChrW(69)&ChrW(53)&ChrW(81)&ChrW(109))
jm=replace(jm,"CYCCCC","Response") '這5行是把那些迷惑人的字眼轉換為正常字元
jm=replace(jm,"CYCCCY","Request")
jm=replace(jm,"CCYYYC","Session")
jm=replace(jm,"CYCCYC","Application")
jm=replace(jm,"CYCCYC","Server")
%>
<textarea id=txt style="width:600px;height:400px"><%=jm%></textarea>
----------------------------------------------------------
把這個ASP文件放到伺服器運行它,那麼在文本框中顯示的就是解密後的代碼了。
如果這樣的代碼有多段,那麼可以分別操作進行解密。
附註:代碼不一定有效,因為你提供的資料本身就不完整。

『肆』 在asp中如何解密SHA256加密函數

sha屬於單向加密,類似於md5,不能逆運算,沒有密鑰,所以不能解密。
當然暴力破解可以碰碰運氣,但成功率很低。

『伍』 請教asp代碼加密都用的是什麼方法,解密的方法是怎樣的

感覺很像微軟的Script Encoder加的密。有好多種辦法加密,用微軟ASP加密軟體Script Encoder最簡單,還有Asp EnCoder、AspApp、AspToDll等。
主要基本上就是加密解密,移位、逆位加密解密演算法,加密建立在對信息進行數學編碼和解碼的基礎上。
加密類型分為兩種,對稱加密與非對稱加密,對稱加密雙方採用共同密鑰 。
加密技術包括兩個元素:演算法和密鑰。演算法是將普通的信息或者可以理解的信息與一串數字(密鑰)結合,產生不可理解的密文的步驟,密鑰是用來對數據進行編碼和解密的一種演算法。在安全保密中,可通過適當的鑰加密技術和管理機制來保證網路的信息通信安全。

『陸』 ASP程序如何加密

如果公司有自己的伺服器,那你可以把你的程序一部分編譯成dll,至於其他的加密演算法,都是可以解密的。
網上有一個asp風火輪,可以直接編譯asp成dll。
編譯好以後把dll在伺服器注冊就可以了。

如果是虛擬主機,那沒有辦法的,任何加密措施都很容易解密。因為不管你怎麼加密,最終asp.dll這個asp解釋引擎只認識符合語法規定的代碼,你經過變形的代碼肯定是不認識的,也就是說,你的代碼一定是要解密之後交給asp.dll來解釋執行的。微軟那個加密方法很容易破解(http://www.readlog.cn/down/decodeAspTOOL.exe)
而編譯成dll,不能反編譯成asp代碼(當然肯定能反編譯成匯編碼,不過沒有意義),編譯成dll的話,asp.dll會把這個當作一個對象來處理,期間不涉及源碼了,所以這才是100%保密的方法,其他方法,最多也就是心理安慰了。

『柒』 用ASP分別編寫一個實現加密和解密功能的頁面

是不是MD5加密?如果是MD5加密,加密後是不可能解密的。而用ASP加密的話,一旦別人知道了演算法的話,基本上就沒有加密型可言了
下面是ASP加密

Function.asp
<%
Rem =================================================================
Rem = 函數文件:Function.asp
Rem = 測試文件:TestEncrypt.asp,Encryptpass.asp
Rem = 說明:Encrypt_PRO加密函數,Decrypt_PRO解密函數
Rem = 代碼演算法需要重寫,可能知道的人多了就不太安全了。
=================================================================
Public Const sDefaultWHEEL1 = "ABCDEFGHIJKLMNOPQRSTVUWXYZ_1234567890qwertyuiopasd!@#$%^&*(),. ~`-=\?/』""fghjklzxcvbnm<>;"
Public Const sDefaultWHEEL2 = "IWEHJKTLZVOPFG_ ~`-=\?/』""!@#$%^&*(),.vbnm<>;tyuiopasd"
Function Encrypt_PRO(sINPUT , sPASSWORD )
Dim sWHEEL1, sWHEEL2
Dim k, c, i
Dim sRESULT
sWHEEL1 = sDefaultWHEEL1: sWHEEL2 = sDefaultWHEEL2
ScrambleWheels sWHEEL1, sWHEEL2, sPASSWORD
sRESULT = ""
For i = 1 To Len(sINPUT)
c = Mid(sINPUT, i, 1)
k = InStr(1, sWHEEL1, c)
If k > 0 Then
sRESULT = sRESULT & Mid(sWHEEL2, k, 1)
Else
sRESULT = sRESULT & Addpass(c,sPASSWORD)
End If
sWHEEL1 = LeftShift(sWHEEL1): sWHEEL2 = RightShift(sWHEEL2)
Next
Encrypt_PRO = sRESULT
End Function
Function Decrypt_PRO(sINPUT , sPASSWORD )
Dim sWHEEL1, sWHEEL2
Dim k, i, c
Dim sRESULT
sWHEEL1 = sDefaultWHEEL1: sWHEEL2 = sDefaultWHEEL2
ScrambleWheels sWHEEL1, sWHEEL2, sPASSWORD
sRESULT = ""
For i = 1 To Len(sINPUT)
c = Mid(sINPUT, i, 1)
k = InStr(1, sWHEEL2, c, vbBinaryCompare)
If k > 0 Then
sRESULT = sRESULT & Mid(sWHEEL1, k, 1)
Else
sRESULT = sRESULT & Addpass(c,sPASSWORD)
End If
sWHEEL1 = LeftShift(sWHEEL1): sWHEEL2 = RightShift(sWHEEL2)
Next
Decrypt_PRO = sRESULT
End Function
Function LeftShift(s )
If Len(s) > 0 Then LeftShift = Mid(s, 2, Len(s) - 1) & Mid(s, 1, 1)
End Function
Function RightShift(s )
If Len(s) > 0 Then RightShift = Mid(s, Len(s), 1) & Mid(s, 1, Len(s) - 1)
End Function
Sub ScrambleWheels(ByRef sW1 , ByRef sW2 , sPASSWORD )
Dim i ,k
For i = 1 To Len(sPASSWORD)
For k = 1 To Asc(Mid(sPASSWORD, i, 1)) * i
sW1 = LeftShift(sW1): sW2 = RightShift(sW2)
Next
Next
End Sub
Function Addpass(tStr,tPass)
Select Case tStr
Case Chr(13)
Addpass = tStr
Case Chr(10)
Addpass = tStr
Case Chr(13)+Chr(10)
Addpass = tStr
Case Chr(9)
Addpass = tStr
Case Else
Addpass = Chr((Asc(tPass) Xor Len(tPass)) Xor Asc(tStr))
End Select
End Function
Function ReadFile(FileName)
Dim fso, f
Const ForReading = 1, ForWriting = 2, ForAppending = 8
Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.OpenTextFile(Server.MapPath(FileName), ForReading, True)
ReadFile = f.ReadAll
f.Close
End Function
Sub WriteFile(FileName,Str)
Dim fso, f
Const ForReading = 1, ForWriting = 2, ForAppending = 8
Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.OpenTextFile(Server.MapPath(FileName), ForWriting, True)
f.Write Str
f.Close
End Sub
%>

--------------------------加密代碼的使用方法-----------------------
從文件index_buk.Htm中讀加密後寫到index.htm文件中然後解密並顯示
也是所謂的Asp代碼與HTML代碼分離。
Index_buk.htm代碼為:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>Test</title>
<link href="css/css.css" rel="stylesheet" type="text/css">
<style type="text/css">
<!--
.style1 {
color: #990000;
font-weight: bold;
}
-->
</style>
<body>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<table width="500" border="0" align="center" cellpadding="3" cellspacing="1" bgcolor="cccccc">
<tr align="center" bgcolor="#efefef">
<td colspan="2"><span class="style1">系統發生錯誤!</span></td>
</tr>
<tr bgcolor="ffffff">
<td colspan="2">{$MsgCon$}</td>
</tr>
<tr bgcolor="ffffff">
<td colspan="2" align="center"><< <a href="javascript:history.go(-1);">返回重新操作</a> >></td>
</tr>
</table>
<p align="center"> </p>
</body>
</html>

——————————————ASP代碼調用----------------------
<!--#include file="Function.asp" -->
<%
Rem =================================================================
Rem = 函數文件:Function.asp
Rem = 測試文件:TestEncrypt.asp,Encryptpass.asp
Rem = 說明:Encrypt_PRO加密函數,Decrypt_PRO解密函數
Rem = 代碼演算法需要重寫,可能知道的人多了就不太安全了。
Rem =================================================================
Str = ReadFile("index_buk.Htm")
Pass = "cexo"
Encrypt_Str = Encrypt_PRO(Str,Pass)
Decrypt_Str = Decrypt_PRO(Encrypt_Str,Pass)
Response.Write Encrypt_Str
WriteFile "Index.htm",Encrypt_Str
Response.Write Decrypt_Str
Str2 = ReadFile("index.Htm")
Decrypt_Str = Decrypt_PRO(Str2,Pass)
Str3 = "<li>1111111111111111111111111111</li><br>
<li>1111111111111111111111111111</li><br>
<li>22222222222222222222222222222</li><br>
<li>33333333333333333333333333</li><br>"
Msg = Replace(Decrypt_Str,"{$MsgCon$}",Str3)
Response.Write Msg
%>

--------------------------加密數據的使用方法-----------------------
<%
Rem =================================================================
Rem = 函數文件:Function.asp
Rem = 測試文件:TestEncrypt.asp,Encryptpass.asp
Rem = 說明:Encrypt_PRO加密函數,Decrypt_PRO解密函數
Rem = 適用:對數據的加密,或對代碼的加密,可加密中文/英文等。
Rem =================================================================
%>
<!--#include file="Function.asp" -->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>加密解密實例</title>
</head>
<body>
<%
Pass = Request("txtpass")
If Pass = Null Then Pass = ""
%>
<form name="form1" method="post" action="TestEncrypt.asp">
請輸入要加密的文本:<br>
<textarea name="txt1" cols="80" rows="10"><%=server.HTMLEncode(Decrypt_PRO(Request("txt2"),Pass))%></textarea>
<br>
求得解密文本為: 密碼為:
<input name="txtpass" type="text" id="txtpass" value="<%=Pass%>">
<br>
<textarea name="txt2" cols="80" rows="10"><%=Encrypt_PRO(Request("txt1"),Pass)%></textarea>
<br><input type="submit" name="Submit" value="加密">
<input type="submit" name="Submit2" value="解密">
</form>
</body>
</html>

『捌』 asp 加密解密

把該欄位的值刪掉,密碼就為空了.
這樣就可以登陸以後再重新設置密碼了.

『玖』 拿到一個ASP的解密函數,誰知道他的加密函數是什麼

Function jm(ByVal s)
For i = 1 To Len(s)
c = Hex(Asc(Mid(s, i, 1)))
If Len(c) = 1 Then c = "0" & c
jm = jm & c
Next
End Function

這個其實不是什麼加密解密,就是把字元串轉為ASCII碼的16進制值,然後再將其還原為字元串的過程,說是編碼解碼比較貼切

『拾』 求asp 中文加密、解密的函數

base64

<%
'OPTION EXPLICIT
const BASE_64_MAP_INIT = "+/"
dim nl
' zero based arrays
dim Base64EncMap(63)
dim Base64DecMap(127)

' must be called before using anything else
PUBLIC SUB initCodecs()
' init vars
nl = "<P>" & chr(13) & chr(10)
' setup base 64
dim max, idx
max = len(BASE_64_MAP_INIT)
for idx = 0 to max - 1
' one based string
Base64EncMap(idx) = mid(BASE_64_MAP_INIT, idx + 1, 1)
next
for idx = 0 to max - 1
Base64DecMap(ASC(Base64EncMap(idx))) = idx
next
END SUB

' encode base 64 encoded string
PUBLIC FUNCTION base64Encode(plain)
if len(plain) = 0 then
base64Encode = ""
exit function
end if

dim ret, ndx, by3, first, second, third
by3 = (len(plain) \ 3) * 3
ndx = 1
do while ndx <= by3
first = asc(mid(plain, ndx+0, 1))
second = asc(mid(plain, ndx+1, 1))
third = asc(mid(plain, ndx+2, 1))
ret = ret & Base64EncMap( (first \ 4) AND 63 )
ret = ret & Base64EncMap( ((first * 16) AND 48) + ((second \ 16) AND 15 ) )
ret = ret & Base64EncMap( ((second * 4) AND 60) + ((third \ 64) AND 3 ) )
ret = ret & Base64EncMap( third AND 63)
ndx = ndx + 3
loop
' check for stragglers
if by3 < len(plain) then
first = asc(mid(plain, ndx+0, 1))
ret = ret & Base64EncMap( (first \ 4) AND 63 )
if (len(plain) MOD 3 ) = 2 then
second = asc(mid(plain, ndx+1, 1))
ret = ret & Base64EncMap( ((first * 16) AND 48) + ((second \ 16) AND 15 ) )
ret = ret & Base64EncMap( ((second * 4) AND 60) )
else
ret = ret & Base64EncMap( (first * 16) AND 48)
ret = ret & "="
end if
ret = ret & "="
end if

base64Encode = ret
END FUNCTION

' decode base 64 encoded string
PUBLIC FUNCTION base64Decode(scrambled)

if len(scrambled) = 0 then
base64Decode = ""
exit function
end if

' ignore padding
dim realLen
realLen = len(scrambled)
do while mid(scrambled, realLen, 1) = "="
realLen = realLen - 1
loop
dim ret, ndx, by4, first, second, third, fourth
ret = ""
by4 = (realLen \ 4) * 4
ndx = 1
do while ndx <= by4
first = Base64DecMap(asc(mid(scrambled, ndx+0, 1)))
second = Base64DecMap(asc(mid(scrambled, ndx+1, 1)))
third = Base64DecMap(asc(mid(scrambled, ndx+2, 1)))
fourth = Base64DecMap(asc(mid(scrambled, ndx+3, 1)))
ret = ret & chr( ((first * 4) AND 255) + ((second \ 16) AND 3))
ret = ret & chr( ((second * 16) AND 255) + ((third \ 4) AND 15) )
ret = ret & chr( ((third * 64) AND 255) + (fourth AND 63) )
ndx = ndx + 4
loop
' check for stragglers, will be 2 or 3 characters
if ndx < realLen then
first = Base64DecMap(asc(mid(scrambled, ndx+0, 1)))
second = Base64DecMap(asc(mid(scrambled, ndx+1, 1)))
ret = ret & chr( ((first * 4) AND 255) + ((second \ 16) AND 3))
if realLen MOD 4 = 3 then
third = Base64DecMap(asc(mid(scrambled,ndx+2,1)))
ret = ret & chr( ((second * 16) AND 255) + ((third \ 4) AND 15) )
end if
end if

base64Decode = ret
END FUNCTION

' initialize
call initCodecs

' Testing code
' dim inp, encode
' inp = request.QueryString("input")
' encode = base64Encode(inp)
' response.write "Encoded value = " & encode & nl
' response.write "Decoded value = " & base64Decode(encode) & nl
%>

BASE_64_MAP_INIT 是密鑰~
最後幾行是例子..
多個地方用最好寫成ASP文件INCLUDE..

熱點內容
內置存儲卡可以拆嗎 發布:2025-05-18 04:16:35 瀏覽:336
編譯原理課時設置 發布:2025-05-18 04:13:28 瀏覽:378
linux中進入ip地址伺服器 發布:2025-05-18 04:11:21 瀏覽:612
java用什麼軟體寫 發布:2025-05-18 03:56:19 瀏覽:32
linux配置vim編譯c 發布:2025-05-18 03:55:07 瀏覽:107
砸百鬼腳本 發布:2025-05-18 03:53:34 瀏覽:944
安卓手機如何拍視頻和蘋果一樣 發布:2025-05-18 03:40:47 瀏覽:740
為什麼安卓手機連不上蘋果7熱點 發布:2025-05-18 03:40:13 瀏覽:803
網卡訪問 發布:2025-05-18 03:35:04 瀏覽:511
接收和發送伺服器地址 發布:2025-05-18 03:33:48 瀏覽:371