PDA

View Full Version : Text Encryption



Overhere
سه شنبه 12 شهریور 1392, 12:40 عصر
سلام کد Text Encryption و decryption رو میخواستم

aliagamon
سه شنبه 12 شهریور 1392, 13:08 عصر
اگه الگوریتم خاصی تو ذهنتون ندارین میتونید یه چیزی همینطوری بسازین ... مثلا دوتا تکست رو بگیری (یکی تکست اصلی یکی هم کلید برای بازگردانی)....و مثلا کد اسکی اولین کاراکتر رو با اولین کاراکتر کلید جمع کنی دومی رو با دومی و الی اخر ....در نهایت هم میتونید متن خروجی رو base64 و بعد rot13 بکنید نتیجه خروجی خیلی از لحاظ امنیتی قوی میشه....البته اگه خودتون یه روش ابداع کنید که پیچیده تر باشه بهتره برای decryption هم معکوسشو انجام بدین ....(مراقب باشین که بشه خروجی رو دویاره برگردوند به حالت اول چون اگه نشه الگوریتم شما میشه یه نوع هش:لبخند:)....

Overhere
سه شنبه 12 شهریور 1392, 13:30 عصر
اگه الگوریتم خاصی تو ذهنتون ندارین میتونید یه چیزی همینطوری بسازین ... مثلا دوتا تکست رو بگیری (یکی تکست اصلی یکی هم کلید برای بازگردانی)....و مثلا کد اسکی اولین کاراکتر رو با اولین کاراکتر کلید جمع کنی دومی رو با دومی و الی اخر ....در نهایت هم میتونید متن خروجی رو base64 و بعد rot13 بکنید نتیجه خروجی خیلی از لحاظ امنیتی قوی میشه....البته اگه خودتون یه روش ابداع کنید که پیچیده تر باشه بهتره برای decryption هم معکوسشو انجام بدین ....(مراقب باشین که بشه خروجی رو دویاره برگردوند به حالت اول چون اگه نشه الگوریتم شما میشه یه نوع هش:لبخند:)....

الگوریتم خاصی که ندارم توی ذهنم ولی میشه یه نمونه کد مثال بزنین؟؟؟

aliagamon
سه شنبه 12 شهریور 1392, 13:55 عصر
بفرمایید....(دقیقا الگوریتم بالا نیستا ....ماله قبله)
این برای Encrypt

Public Shared Function Encrypt(ByVal Message As String) As String
Dim Results As Byte()
Dim UTF8 As New System.Text.UTF8Encoding()
Dim HashProvider As New MD5CryptoServiceProvider()
Dim TDESKey As Byte() = HashProvider.ComputeHash(UTF8.GetBytes(passphrase) )
Dim TDESAlgorithm As New TripleDESCryptoServiceProvider()
TDESAlgorithm.Key = TDESKey
TDESAlgorithm.Mode = CipherMode.ECB
TDESAlgorithm.Padding = PaddingMode.PKCS7
Dim DataToEncrypt As Byte() = UTF8.GetBytes(Message)
Try
Dim Encryptor As ICryptoTransform = TDESAlgorithm.CreateEncryptor()
Results = Encryptor.TransformFinalBlock(DataToEncrypt, 0, DataToEncrypt.Length)
Finally
TDESAlgorithm.Clear()
HashProvider.Clear()
End Try
Return Convert.ToBase64String(Results)
End Function

اینم برای Decrypt

Public Shared Function Decrypt(ByVal Message As String) As String
Dim Results As Byte()
Dim UTF8 As New System.Text.UTF8Encoding()
Dim HashProvider As New MD5CryptoServiceProvider()
Dim TDESKey As Byte() = HashProvider.ComputeHash(UTF8.GetBytes(passphrase) )
Dim TDESAlgorithm As New TripleDESCryptoServiceProvider()
TDESAlgorithm.Key = TDESKey
TDESAlgorithm.Mode = CipherMode.ECB
TDESAlgorithm.Padding = PaddingMode.PKCS7
Dim DataToDecrypt As Byte() = Convert.FromBase64String(Message)
Try
Dim Decryptor As ICryptoTransform = TDESAlgorithm.CreateDecryptor()
Results = Decryptor.TransformFinalBlock(DataToDecrypt, 0, DataToDecrypt.Length)
Finally
TDESAlgorithm.Clear()
HashProvider.Clear()
End Try
Return UTF8.GetString(Results)
End Function

یه متغییر پسورد هم باید تعریف کنید :

Const passphrase As String = "password"

Overhere
سه شنبه 12 شهریور 1392, 14:06 عصر
اونوقت میشه بپرسم این دقیقا چیرو encrypt میکنه؟محتویات کجارو؟

aliagamon
سه شنبه 12 شهریور 1392, 14:08 عصر
این استرینگ ورودی میگیره شما میتونی با یه steamreader فایل های تکست رو هم بدی بهش(اگه encrypt فایل هم (مثلا عکس) میخوای بگو یه نمونه بزارم)...

Overhere
سه شنبه 12 شهریور 1392, 14:15 عصر
میشه یه نمونه کلی با دو تا تکست باکس ضمیمه کنید؟؟؟
ممنون میشم؟
ببینید من میخوام که محتویات تکست باکس ذخیره بشه و سپس محتویات فایل ذخیره شده encrypt بشه و بالعکس....

aliagamon
سه شنبه 12 شهریور 1392, 14:51 عصر
.................................................. ..............:چشمک:

Overhere
سه شنبه 12 شهریور 1392, 15:01 عصر
ممنونم از شما