有高手知道下面的加密程序的原理吗?

Johnny_de Johnny_de 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
Public Function EnDeCrypt(ByVal Text As String, ByVal Key As String, Encrypt As Boolean)
Dim lngLength As Long
Dim lngSALTLen As Long
Dim lngReturnValue As Long
hSessionKey = 0
lngSALTLen = 0
KeyFromPW Key 'Passwort in Key umwandeln
If Encrypt Then
lngReturnValue = CryptGetKeyParam(hSessionKey, KP_SALT, vbNull, lngSALTLen, 0) 'String mit Verschlüsselungsspezifikationen

strSALT = String(lngSALTLen + 1, vbNullChar)
'lngReturnValue = CryptGenRandom(hCryptProv, lngSALTLen, strSALT)


'If lngReturnValue = 0 Then err.Raise err.LastDllError, , "Dll gab Fehler aus. SALT konnte nicht berechnet werden!"
Else
'strSALT = String(lngSALTLen + 1, "a")
End If
lngReturnValue = CryptSetKeyParam(hSessionKey, KP_SALT, strSALT, 0) ' strSALT setzen
If lngReturnValue = 0 Then Err.Raise Err.LastDllError, , "DLL-Fehler: Konnte SALT nicht setzen."

lngLength = Len(Text)
If Encrypt Then 'Verschlüsseln
lngReturnValue = CryptEncrypt(hSessionKey, 0, 1, 0, Text, lngLength, lngLength)
If lngReturnValue = 0 Then Err.Raise Err.LastDllError, , "Fehler während des Encrypt-Vorgangs."
Else 'Entschlüsseln
lngReturnValue = CryptDecrypt(hSessionKey, 0, 1, 0, Text, lngLength)
If lngReturnValue = 0 Then Err.Raise Err.LastDllError, , "Fehler während des Decrypt-Vorgangs."
End If


EnDeCrypt = Left$(Text, lngLength)


If hSessionKey <> 0 Then CryptDestroyKey hSessionKey 'Key zerstören
End Function
...全文

相关推荐

DES原理及实现步骤,以及VC++关于DES加密解密的详细源程序

DES算法是这样工作的:如Mode为加密,则用Key 去把数据Data进行加密, 生成Data的密码形式(64位)作为DES的输出结果;如Mode为解密,则用Key去把密码形式的数据Data解密,还原为Data的明码形式(64位)作为DES的输出结果。在通信网络的两端,双方约定一致的Key,在通信的源点用Key对核心数据进行DES加密,然后以密码形式在公共通信网(如电话网)中传输到通信网络的终点,数据到达目的地后,用同样的Key对密码数据进行解密,便再现了明码形式的核心数据。这样,便保证了核心数据(如PIN、MAC等)在公共通信网中传输的安全性和可靠性。   通过定期在通信网络的源端和目的端同时改用新的Key,便能更进一步提高数据的保密性,这正是现在金融交易网络的流行做法。 下面是DES原理及实现步骤,以及VC++关于DES加密解密的详细源程序

lijiao1106

图片加密,解密程序

图片加密,解密程序,有源码.使用:输入图片所在文件夹,格式d:\\xxx\\;需要自己安装jdk才可运行,jdk1.7,1.8

豪饮阔乐

基于 STM32 的程序加密

基于 STM32 的程序加密方法,keil 编译

沙漏里的时光-

DSP程序加密解密方法

针对DSP应用程序的加密,解密,本文档给出了2种加密方法,1种解密方法,并详细的给出了加密解密的方法和步骤,供大家学习使用。

yanli64882797

微机原理加密解密程序设计

本设计主要采用对ASCII码值进行加1、加2的操作,来实现输入数据的加密工作。输入的第n 个数据,若n为奇数则加1,n为偶数就将该数据的ASCII码值加2。解密算法类似,即n为奇数则ASCII码值减1为偶数减2。

shizyok
评论 4
收藏 已收藏
分享
返回顶部
Johnny_de
控件 1,453 成员 41,351 内容