想要vb实现的des、rsa算法加密的程序 代码 感激万分。。。。。

刚注册的 只有20个财富 谢谢

gram
rem (c) W.Buchanan
rem Jan 2002

Function check_prime(ByVal val As Long) As Boolean
Dim primes
primes = Array(1, 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97, 101, 103, 107, 109, 113, 127, 131, 137, 139, 149, 151, 157, 163, 167, 173, 179, 181, 191, 193, 197, 199, 211, 223, 227, 229, 233, 239, 241, 251, 257, 263, 269, 271, 277, 281, 283, 293, 307, 311, 313, 317, 331, 337, 347, 349, 353, 359, 367, 373, 379, 383, 389, 397)
check_prime = False

For i = 0 To 78
If (val = primes(i)) Then
prime = True
End If
Next i
check_prime = prime
End Function

Function decrypt(ByVal c, ByVal n, ByVal d As Long)

Dim i, g, f As Long

On Error GoTo errorhandler

If (d Mod 2 = 0) Then
g = 1
Else
g = c
End If

For i = 1 To d / 2

f = c * c Mod n
g = f * g Mod n
Next i
decrypt = g

Exit Function
errorhandler:
Select Case Err.Number ' Evaluate error number.
Case 6
status.Text = "Calculation overflow, please select smaller values"
Case Else
status.Text = "Calculation error"
End Select

End Function

Function getD(ByVal e As Long, ByVal PHI As Long) As Long
Dim u(3) As Long
Dim v(3) As Long
Dim q, temp1, temp2, temp3 As Long

u(0) = 1
u(1) = 0
u(2) = PHI
v(0) = 0
v(1) = 1
v(2) = e

While (v(2) <> 0)
q = Int(u(2) / v(2))
temp1 = u(0) - q * v(0)
temp2 = u(1) - q * v(1)
temp3 = u(2) - q * v(2)
u(0) = v(0)
u(1) = v(1)
u(2) = v(2)
v(0) = temp1
v(1) = temp2
v(2) = temp3
Wend
If (u(1) < 0) Then
getD = (u(1) + PHI)
Else
getD = u(1)
End If
End Function

Function getE(ByVal PHI As Long) As Long
Dim great, e As Long

great = 0
e = 2

While (great <> 1)
e = e + 1
great = get_common_denom(e, PHI)
Wend
getE = e
End Function

Function get_common_denom(ByVal e As Long, ByVal PHI As Long)
Dim great, temp, a As Long

If (e > PHI) Then
While (e Mod PHI <> 0)
temp = e Mod PHI
e = PHI
PHI = temp
Wend
great = PHI
Else
While (PHI Mod e <> 0)
a = PHI Mod e
PHI = e
e = a
Wend
great = e
End If
get_common_denom = great
End Function

Private Sub show_primes()
status.Text = "1"
no_primes = 1
For i = 2 To 400
prime = True
For j = 2 To (i / 2)
If ((i Mod j) = 0) Then
prime = False
End If
Next j

If (prime = True) Then
no_primes = no_primes + 1
status.Text = status.Text + ", " + Str(i)
End If
Next i
status.Text = status.Text + vbCrLf + "Number of primes found:" + Str(no_primes)
End Sub

Private Sub Command1_Click()
Dim p, q, n, e, PHI, d, m, c As Long

p = Text1.Text
q = Text2.Text
If (check_prime(p) = False) Then
status.Text = "p is not a prime or is too large, please re-enter"
ElseIf (check_prime(q) = False) Then
status.Text = "q is not a prime or is too large, please re-enter"
Else
n = p * q
Text3.Text = n

PHI = (p - 1) * (q - 1)
e = getE((PHI))
d = getD((e), (PHI))
Text4.Text = PHI
Text5.Text = d
Text6.Text = e
m = Text7.Text

c = (m ^ e) Mod n
Text8.Text = c
m = decrypt(c, n, d)
Text9.Text = m
Label12.Caption = "Decrypt key =<" + Str(d) + "," + Str(n) + ">"
Label13.Caption = "Encrypt key =<" + Str(e) + "," + Str(n) + ">"
End If
End Sub

Private Sub Command2_Click()
End
End Sub

Private Sub Command3_Click()
frmBrowser.Show
End Sub

Private Sub Command4_Click()
Call show_primes
End Sub
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-04-19
我有完整的程序可打包发给你,调好可用的,你给我个邮箱。

Python实现DES、DES3、AES、RSA、MD5、SHA、HMAC加密方式及示例_百度知 ...
DES3:对DES算法的扩展,使用三个密钥进行加密,提升安全性。AES:高级加密标准,采用可变密钥长度(128、192、256位),支持多种密钥长度,广泛应用于各类数据加密场景。RSA:一种基于大数质因数分解难题的非对称加密算法,用于数据加密与数字签名,实现密钥对的生成、加密与解密。MD5:一种用于生成固定长度...

des算法与rsa算法区别
1、DES算法:优点:密钥短,加密处理简单,加密解密速度快,适用于加密大量数据的场合。缺点:单键,不能从一个键推导出另一个键。2、RSA算法:优点:应用广泛,加密密钥与解密密钥不一样,一般的加密密钥称为私钥。解密密钥称为公钥,私钥加密后只能用公钥解密,当然也可以用公钥加密,用私钥解密。缺点...

使用Python 实现 RSA 加密
在 Python 中实现 RSA,首先需要安装pycryptodome库,它包含多种加密算法。具体步骤涉及生成公钥和私钥,用公钥加密,然后用私钥解密。在实际应用中,非对称加密通常用于初始密钥的交换,之后通过对称加密提高通信效率,HTTPS即采用这种方式。

des算法与rsa算法区别
1. 性质差异:RSA算法是一种非对称加密算法,它使用一对密钥,即公钥和私钥。公钥用于加密数据,而私钥用于解密。相比之下,DES算法是一种对称加密算法,它使用相同的密钥进行加密和解密。2. 特点区别:RSA算法的特点是,即使加密密钥是公开的,没有相应的私钥,加密的数据是无法被解密的。而DES算法则是...

使用Python 实现 RSA 加密
利用大整数因子分解的难题实现加密,密钥越长,安全性越高。实际应用中,如HTTPS,通常采用非对称加密传输对称加密密钥,以兼顾速度和安全。在Python中实现RSA,可以借助pycryptodome这样的加密库,它提供了丰富的加密工具,包括RSA算法。通过安装和使用这个库,可以方便地在Python代码中操作RSA加密和解密过程。

java中的rsa\\des算法的方法
由于进行的都是大数计算,使得RSA最快的情况也比DES慢上100倍,无论 是软件还是硬件实现。速度一直是RSA的缺陷。一般来说只用于少量数据 加密。RSA的选择密文攻击:RSA在选择密文攻击面前很脆弱。一般攻击者是将某一信息作一下伪装 (Blind),让拥有私钥的实体签署。然后,经过计算就可得到它所想要的信 ...

RSA和DES算法的优缺点、比较
DES算法:优点:密钥较短,加密处理简单,加解密速度快,适用于加密大量数据的场合。缺点:密钥单一,不能由其中一个密钥推导出另一个密钥。RSA算法:优点:应用广泛,加密密钥和解密密钥不一样,一般加密密钥称为私钥。解密密钥称为公钥,私钥加密后只能用公钥解密,,当然也可以用公钥加密,用私钥解密。缺...

【算法】加密解密算法(DES、3DES、SM2、SM3、SM4)以及RSA加密算法
DES由于密钥长度较短,容易受到量子计算和大数据技术的影响。3DES通过增加密钥长度提高安全性,但当三密钥相同时,仅进行一次加密。SM2和SM3为公钥和对称加密算法,适用于数字签名和加密,SM4则替代DES和3DES,适用于大数据场景,SM9与SM2配合增强整体安全。非对称加密的RSA算法,利用公钥和私钥进行数据加密与...

加密算法哪个好
而对于需要公钥和私钥机制的情况,RSA算法则更为适用。DES算法虽然在现代可能面临一些安全性挑战,但在某些特定场合仍然具有应用价值。在选择加密算法时,还需要考虑算法的复杂性、安全性、实现成本等因素。同时,随着技术的不断发展,新的加密算法和安全技术不断涌现,因此,在选择加密算法时也需要关注最新的...

如何使用RSA 和 DES 算法 对数据加密?
1、信息(明文)采用DES密钥加密。2、使用RSA加密前面的DES密钥信息。最终将混合信息进行传递。而接收方接收到信息后:1、用RSA解密DES密钥信息。2、再用RSA解密获取到的密钥信息解密密文信息。最终就可以得到我们要的信息(明文)。二、实现例子:结合前面RSA和DES加密:\/\/\/ \/\/\/ RSA和DES混合加密 \/\/\/...

相似回答