Option Explicit
Dim sSecretData
sSecretData = "Here is some very secret data."
' Build up the key
Dim wshNetwork, sComputerName
Set wshNetwork = WScript.CreateObject("WScript.Network")
sComputerName = wshNetwork.ComputerName
Dim capEData
Set capEData = CreateObject("CAPICOM.EncryptedData")
capEData.Algorithm = 3 'Use 3DES
capEData.SetSecret sComputerName
capEData.Content = sSecretData
Dim sCipherText
sCipherText = capEData.Encrypt
capEData.Algorithm = 3
capEData.SetSecret sComputerName
capEData.Decrypt sCipherText
Dim sPlainText
sPlainText = capEData.Content
MsgBox "Original data: " & sSecretData & chr(13) _
& "Encrypted data: " & sCipherText & chr(13) _
& "Recoverd data: " & sPlainText
答案 0 :(得分:4)
这个更简单:关键是计算机名称,算法是众所周知的。所以每个人都可以找到你的计算机名称(这包括同一个交换机上的每个人,即使他的PC被盗用,并且根据你发送邮件的所有人的邮件系统)可以无限制地解密。
如果您的电脑崩溃,并且您为新安装提供了另一个名称,那么您也会感到不快。
修改强>
从讨论开始:拥有硬编码键,同时拥有反编译器并具有机密键是不可能的。
你的方法(使用不同于计算机的东西)是完全正常的,但是你应该依赖某些东西,这些东西不能像计算机名称(或MAC地址......)那样容易阅读。处理器序列号或Windows产品ID浮现在脑海中 - 两者都无法轻松读取远程,但请记住,如果有人可以访问此计算机,则游戏结束!