मैं .NET में एक सामान्य स्ट्रिंग एन्क्रिप्शन क्लास की तलाश में हूं। ('सिक्योरस्ट्रिंग' वर्ग से भ्रमित नहीं होना चाहिए।)सामान्य स्ट्रिंग एन्क्रिप्शन
मैंने अपनी कक्षा के साथ आने शुरू कर दिया है, लेकिन सोचा कि वहां एक .NET क्लास होना चाहिए जो आपको पहले से ही किसी भी एन्कोडिंग के स्ट्रिंग को एन्क्रिप्ट/डिक्रिप्ट करने की अनुमति देता है कोई क्रिप्टोग्राफिक सेवा प्रदाता।
Public Class SecureString
Private key() As Byte
Private iv() As Byte
Private m_SecureString As String
Public ReadOnly Property Encrypted() As String
Get
Return m_SecureString
End Get
End Property
Public ReadOnly Property Decrypted() As String
Get
Return Decrypt(m_SecureString)
End Get
End Property
Public Sub New(ByVal StringToSecure As String)
If StringToSecure Is Nothing Then StringToSecure = ""
m_SecureString = Encrypt(StringToSecure)
End Sub
Private Function Encrypt(ByVal StringToEncrypt As String) As String
Dim result As String = ""
Dim bytes() As Byte = Text.Encoding.UTF8.GetBytes(StringToEncrypt)
Using provider As New AesCryptoServiceProvider()
With provider
.Mode = CipherMode.CBC
.GenerateKey()
.GenerateIV()
key = .Key
iv = .IV
End With
Using ms As New IO.MemoryStream
Using cs As New CryptoStream(ms, provider.CreateEncryptor(), CryptoStreamMode.Write)
cs.Write(bytes, 0, bytes.Length)
cs.FlushFinalBlock()
End Using
result = Convert.ToBase64String(ms.ToArray())
End Using
End Using
Return result
End Function
Private Function Decrypt(ByVal StringToDecrypt As String) As String
Dim result As String = ""
Dim bytes() As Byte = Convert.FromBase64String(StringToDecrypt)
Using provider As New AesCryptoServiceProvider()
Using ms As New IO.MemoryStream
Using cs As New CryptoStream(ms, provider.CreateDecryptor(key, iv), CryptoStreamMode.Write)
cs.Write(bytes, 0, bytes.Length)
cs.FlushFinalBlock()
End Using
result = Text.Encoding.UTF8.GetString(ms.ToArray())
End Using
End Using
Return result
End Function
End Class
Uhm, आप डिक्रिप्शन के लिए चतुर्थ पारित करने के लिए की जरूरत है। – Migol
@ मिगोल - क्या आप अपनी टिप्पणी को और स्पष्ट कर सकते हैं? – user111370
चतुर्थ opentext के माध्यम से भेजा जा सकता है और आपकी स्ट्रिंग को डिक्रिप्ट करने के लिए कुंजी के अलावा कुछ डेटा शामिल है। – Migol