解密,线索1:记得好像该密码有一定规律,不是太复杂,应该算比较容易记忆的;线索2:加密后的内容,解密程序及源代码附后
附有关文件
1、加密后的数据(存于data.txt文件中,base64格式)
89FoG1BZqO9ZWJ6tMXJMuxQ8KxjQC+OnaVMlb2Ci1ee5y7PDzZMcMIMJZco9KpG+vOjtetqBnftZEwvm6OzhOljzfYbFoqEgK3oPicgCCIk8FpPfImf8ncxpv4EUPbUapjZD2vSGNBKS+ZSWDXHvWQ==
2、解密程序源代码(.NET控制台程序)
Imports System.IO
Imports System.Security.Cryptography
Module Module1
Private TripleDes As New TripleDESCryptoServiceProvider
Sub Main()
Dim code As String = ""
Dim password As String = ""
Try
code = File.ReadAllText("data.txt") '加密后的数据储存于data.txt文件中,BASE64编码
Console.Write("please input password:")
password = Console.ReadLine
TripleDes.Key = TruncateHash(password, TripleDes.KeySize \ 8)
TripleDes.IV = TruncateHash("", TripleDes.BlockSize \ 8)
Dim ret As String = DecryptData(code)
Console.WriteLine("以下是解密后的内容,已写入a.txt文件")
Console.WriteLine(ret)
File.WriteAllText("a.txt", ret)
Catch ex As Exception
Console.WriteLine(ex.Message)
End Try
Console.ReadLine()
End Sub
Public Function DecryptData(ByVal encryptedtext As String) As String
Dim encryptedBytes() As Byte = Convert.FromBase64String(encryptedtext)
Dim ms As New System.IO.MemoryStream
Dim decStream As New CryptoStream(ms, TripleDES.CreateDecryptor(), System.Security.Cryptography.CryptoStreamMode.Write)
decStream.Write(encryptedBytes, 0, encryptedBytes.Length)
decStream.FlushFinalBlock()
Return System.Text.Encoding.Unicode.GetString(ms.ToArray)
End Function
Private Function TruncateHash(ByVal key As String, ByVal length As Integer) As Byte()
Dim sha1 As New SHA1CryptoServiceProvider
Dim keyBytes() As Byte = System.Text.Encoding.Unicode.GetBytes(key)
Dim hash() As Byte = sha1.ComputeHash(keyBytes)
ReDim Preserve hash(length - 1)
Return hash
End Function
End Module
你只有加密后的字符串,没有加密前的字符串,也没有加密的key,那怎么能确定我解密后的字符串是正确的呢?
我是忘密码,你要是解密了,难道我还会说你的答案是错误的吗。要是这样我就真不是人了啊! 我这里有APP 你的答案输入,就可以知道是否正确了。等下我给一个下载的链接地址。
@xiangqian36: 好 的,我看看先。
@LCM: 先谢谢了啊,上面的链接可以下载吗?希望你能解密出来。
不行得话试试这个链接:
@xiangqian36: 还有其它信息吗?比如密码大概是多少位知道么,还有,密码是字母、数字、特殊符号、中文中的一种还是多种结合?
@LCM: 全部信息都在上面了啊。