亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > ASP > 正文

在asp中通過vbs類實現rsa加密與解密

2024-05-04 11:06:18
字體:
來源:轉載
供稿:網友
本文章有兩文件組成
test.asp 測試演示文件
clsrsa.asp 實現rsa加密與解密的vbs類文件
下面是代碼:

1. test.asp

<%
rem 文章標題:在asp中通過vbs類實現rsa加密與解密
rem 收集整理:yanek
rem 聯系:[email protected]

%>
<%option explicit%>
<!--#include file="clsrsa.asp"-->
<%

dim lngkeye
dim lngkeyd
dim lngkeyn
dim strmessage
dim objrsa
if not request.form = "" then

lngkeye = request.form("keye")
lngkeyd = request.form("keyd")
lngkeyn = request.form("keyn")
strmessage = request.form("message")

set objrsa = new clsrsa

select case request.form("action")
case "generate keys"
call objrsa.genkey()
lngkeye = objrsa.publickey
lngkeyd = objrsa.privatekey
lngkeyn = objrsa.modulus
case "encrypt"
objrsa.publickey = lngkeye
objrsa.modulus = lngkeyn
strmessage = objrsa.encode(strmessage)
case "decrypt"
objrsa.privatekey = lngkeyd
objrsa.modulus = lngkeyn
strmessage = objrsa.decode(strmessage)
end select

set objrsa = nothing

end if
%>
<html>
<head>
<title>rsa cipher demonstration</title>
</head>
<body>
<h1>rsa cipher demonstration</h1>
<p>
you will first need to generate your public/privage key-pair
before you can encrypt/decrypt messages.
</p>
<form method="post">
<table>
<tr>
<td>public key</td>
<td><input name="keye" value="<%=server.htmlencode(lngkeye)%>"></td>
<td rowspan="3">
<input type="submit" name="action" value="generate keys">
</td>
</tr>
<tr>
<td>private key</td>
<td><input name="keyd" value="<%=server.htmlencode(lngkeyd)%>"></td>
</tr>
<tr>
<td>modulus</td>
<td><input name="keyn" value="<%=server.htmlencode(lngkeyn)%>"></td>
</tr>
<tr>
<td colspan="3">
test message:<br>
<textarea name="message" cols="50" rows="7"><%=server.htmlencode(strmessage)%></textarea>
</td>
</tr>
<tr>
<td align="right" colspan="3">
<input type="submit" name="action" value="encrypt">
<input type="submit" name="action" value="decrypt">
</td>
</tr>
</table>
</form>
</body>
</html>


clsrsa.asp

<%
rem 實現rsa加密與解密的vbs類文件
rem 文章標題:在asp中通過vbs類實現rsa加密與解密
rem 收集整理:yanek
rem 聯系:[email protected]

' rsa encryption class
'
' .privatekey
' your personal private key. keep this hidden.
'
' .publickey
' key for others to encrypt data with.
'
' .modulus
' used with both public and private keys when encrypting
' and decrypting data.
'
' .genkey()
' creates public/private key set and modulus
'
' .crypt(plngmessage, plngkey)
' encrypts/decrypts message and returns
' as a string.
'
' .encode(pstrmessage)
' encrypts message and returns in double-hex format
'
' .decode(pstrmessage)
' decrypts message from double-hex format and returns a string
'
class clsrsa

public privatekey
public publickey
public modulus

public sub genkey()
dim llngphi
dim q
dim p

randomize

do
do

' 2 random primary numbers (0 to 1000)
do
p = rnd * 1000 / 1
loop while not isprime(p)

do
q = rnd * 1000 / 1
loop while not isprime(q)


' n = product of 2 primes
modulus = p * q / 1

' random decryptor (2 to n)
privatekey = rnd * (modulus - 2) / 1 + 2

llngphi = (p - 1) * (q - 1) / 1
publickey = euler(llngphi, privatekey)

loop while publickey = 0 or publickey = 1

' loop if we can't crypt/decrypt a byte
loop while not testcrypt(255)

end sub

private function testcry


|||pt(byref pbytdata)
dim lstrcrypted
lstrcrypted = crypt(pbytdata, publickey)
testcrypt = crypt(lstrcrypted, privatekey) = pbytdata
end function

private function euler(byref plngphi, byref plngkey)

dim llngr(3)
dim llngp(3)
dim llngq(3)

dim llngcounter
dim llngresult

euler = 0

llngr(1) = plngphi: llngr(0) = plngkey
llngp(1) = 0: llngp(0) = 1
llngq(1) = 2: llngq(0) = 0

llngcounter = -1

do until llngr(0) = 0

llngr(2) = llngr(1): llngr(1) = llngr(0)
llngp(2) = llngp(1): llngp(1) = llngp(0)
llngq(2) = llngq(1): llngq(1) = llngq(0)

llngcounter = llngcounter + 1

llngr(0) = llngr(2) mod llngr(1)
llngp(0) = ((llngr(2)/llngr(1)) * llngp(1)) + llngp(2)
llngq(0) = ((llngr(2)/llngr(1)) * llngq(1)) + llngq(2)

loop

llngresult = (plngkey * llngp(1)) - (plngphi * llngq(1))

if llngresult > 0 then
euler = llngp(1)
else
euler = abs(llngp(1)) + plngphi
end if

end function

public function crypt(plngmessage, plngkey)
on error resume next
dim llngmod
dim llngresult
dim llngindex
if plngkey mod 2 = 0 then
llngresult = 1
for llngindex = 1 to plngkey / 2
llngmod = (plngmessage ^ 2) mod modulus
' mod may error on key generation
llngresult = (llngmod * llngresult) mod modulus
if err then exit function
next
else
llngresult = plngmessage
for llngindex = 1 to plngkey / 2
llngmod = (plngmessage ^ 2) mod modulus
on error resume next
' mod may error on key generation
llngresult = (llngmod * llngresult) mod modulus
if err then exit function
next
end if
crypt = llngresult
end function

private function isprime(byref plngnumber)
dim llngsquare
dim llngindex
isprime = false
if plngnumber < 2 then exit function
if plngnumber mod 2 = 0 then exit function
llngsquare = sqr(plngnumber)
for llngindex = 3 to llngsquare step 2
if plngnumber mod llngindex = 0 then exit function
next
isprime = true
end function

public function encode(byval pstrmessage)
dim llngindex
dim llngmaxindex
dim lbytascii
dim llngencrypted
llngmaxindex = len(pstrmessage)
if llngmaxindex = 0 then exit function
for llngindex = 1 to llngmaxindex
lbytascii = asc(mid(pstrmessage, llngindex, 1))
llngencrypted = crypt(lbytascii, publickey)
encode = encode & numbertohex(llngencrypted, 4)
next
end function

public function decode(byval pstrmessage)
dim lbytascii
dim llngindex
dim llngmaxindex
dim llngencrypteddata
decode = ""
llngmaxindex = len(pstrmessage)
for llngindex = 1 to llngmaxindex step 4
llngencrypteddata = hextonumber(mid(pstrmessage, llngindex, 4))
lbytascii = crypt(llngencrypteddata, privatekey)
decode = decode & chr(lbytascii)
next
end function

private function numbertohex(byref plngnumber, byref plnglength)
numbertohex = right(string(plnglength, "0") & hex(plngnumber), plnglength)
end function

private function hextonumber(byref pstrhex)
hextonumber = clng("&h" & pstrhex)
end function

end class
%>




發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美日本国产在线| 日韩高清有码在线| 美女视频黄免费的亚洲男人天堂| 久久亚洲精品一区二区| 91国产高清在线| 欧美日韩成人免费| 亚洲一区二区精品| 欧美成人精品一区二区| 色系列之999| 国外成人性视频| 久久久av一区| 国产精品久久久久久久久久免费| 国产噜噜噜噜久久久久久久久| 国产视频综合在线| 成人激情视频在线| 欧美高清视频免费观看| 国产精品精品久久久久久| 国产综合久久久久久| 久久精品青青大伊人av| 国产精品ⅴa在线观看h| 懂色av影视一区二区三区| 这里只有精品在线播放| 国产精品美女主播在线观看纯欲| 久久99亚洲热视| 91精品国产自产在线观看永久| 中文字幕在线精品| 丁香五六月婷婷久久激情| 日本精品视频网站| 中文字幕亚洲一区二区三区五十路| 国产精品久久久久久久久久尿| 日韩电影在线观看中文字幕| 国产欧美精品一区二区三区-老狼| 欧美日韩福利在线观看| 久久久成人精品| 日韩精品丝袜在线| 亚洲片国产一区一级在线观看| 久久国产精品免费视频| 九九精品视频在线| 亚洲精品福利免费在线观看| 国产精品久久电影观看| 亚洲国产精品国自产拍av秋霞| 日韩av一区在线观看| 91精品国产精品| 日韩av影视综合网| 久久精彩免费视频| 国产日韩精品视频| 亚洲免费影视第一页| 2019av中文字幕| 精品久久久久久久中文字幕| 综合欧美国产视频二区| 亚洲字幕一区二区| 色婷婷亚洲mv天堂mv在影片| 久久精品99久久久久久久久| 亚洲片在线观看| 91在线视频免费| 欧美色图在线视频| 久久久久久网址| 日韩av在线一区二区| 国产精品欧美一区二区三区奶水| 欧美亚洲在线观看| 国产mv久久久| 亚洲网在线观看| 美女国内精品自产拍在线播放| 91免费国产网站| 日本精品免费观看| 福利一区福利二区微拍刺激| 亚洲一区二区三区在线视频| 国产亚洲视频在线观看| 狠狠色狠色综合曰曰| 性欧美长视频免费观看不卡| 色播久久人人爽人人爽人人片视av| 97在线视频精品| 久久精品视频99| 黄色精品一区二区| 国产精品视频资源| 国产精品成人v| 日韩在线高清视频| 亚洲精品久久在线| 国产第一区电影| 91精品中文在线| 国产美女高潮久久白浆| 国产精品最新在线观看| 国产91成人在在线播放| 国产精品91视频| 日本19禁啪啪免费观看www| 国产精品美女久久久久久免费| 亚洲成年人在线播放| 国产精品日韩久久久久| 亚洲美女在线观看| 久久久久久久久爱| 欧美一区深夜视频| 性欧美xxxx| 亚洲综合自拍一区| 91亚洲精品在线观看| 日韩av男人的天堂| 久久精品国产久精国产一老狼| 欧美理论在线观看| 国产精品99导航| 久久伊人免费视频| 欧美国产一区二区三区| 精品偷拍各种wc美女嘘嘘| 亚洲精品一区中文字幕乱码| 欧美精品电影免费在线观看| 97精品免费视频| 一区二区国产精品视频| 欧美国产精品人人做人人爱| 在线国产精品视频| 欧美一区二区三区免费观看| 97精品一区二区三区| 久久中国妇女中文字幕| 成人欧美一区二区三区在线湿哒哒| 国产一区在线播放| 欧美人与物videos| 欧美高清激情视频| 亚洲人成啪啪网站| 国产精自产拍久久久久久蜜| 亚洲风情亚aⅴ在线发布| 国产成人在线视频| 久久久久久av| 成人中文字幕+乱码+中文字幕| 亚洲午夜女主播在线直播| 国产va免费精品高清在线观看| 日韩暖暖在线视频| 国产欧美精品一区二区| 亚洲男人天天操| 午夜精品美女自拍福到在线| 久久久久久久久久久免费精品| 2019亚洲日韩新视频| 亚洲自拍偷拍视频| 亚洲电影av在线| 国产一区二区动漫| 国内精品在线一区| 亚洲黄页网在线观看| 亚洲免费影视第一页| 国产91色在线|| 日本一区二区不卡| 亚洲欧美综合另类中字| 国产69精品99久久久久久宅男| 98视频在线噜噜噜国产| www.xxxx精品| 欧美日韩国产在线| 亚洲国产小视频在线观看| 亚洲美女久久久| 九色精品美女在线| 欧美人与性动交a欧美精品| 第一福利永久视频精品| 久久国产精品久久精品| 欧美一级电影久久| 精品性高朝久久久久久久| 日韩欧美在线视频观看| 国产亚洲欧美视频| 韩国精品久久久999| 国产亚洲欧美视频| 亚洲自拍偷拍在线| 亚洲精品一区中文| 少妇高潮久久久久久潘金莲| 国产大片精品免费永久看nba| 精品欧美一区二区三区| 日本亚洲欧洲色α| 久久久这里只有精品视频| 性金发美女69hd大尺寸| 最近2019好看的中文字幕免费| 日韩高清人体午夜| 亚洲精品资源美女情侣酒店|