当前位置:首页 » 密码管理 » 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 浏览:335
编译原理课时设置 发布: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 浏览:739
为什么安卓手机连不上苹果7热点 发布:2025-05-18 03:40:13 浏览:803
网卡访问 发布:2025-05-18 03:35:04 浏览:511
接收和发送服务器地址 发布:2025-05-18 03:33:48 浏览:371