[ad_1]
vb.netでデータを暗号化および復号化するプロジェクトを作成します
このコードを関数として使用する方法は、テキストボックスでのみ機能するようにしてください
文字列値を送信してから暗号化値を返し、暗号化値を送信すると復号化値を送信したい。
私が試したこと:
Private arLetterChars() As Char = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890 " Private arEncryptedChars() As Char = "***********************************"
'// encrypt. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click, Button4.Click With TextBox1 For Each myTextBoxChar As Char In .Text '// loop thru TextBox, one char. at a time. For i As Integer = 0 To arLetterChars.Length - 1 '// loop thru all letters in the Array. '// if TextBox char ='s the char in your Array, replace the TextBox char with the same #'ed Array char of the Encrypted letters. If myTextBoxChar = arLetterChars(i) Then .Text = .Text.Replace(myTextBoxChar, arEncryptedChars(i)) Next Next End With End Sub
'// decrypt. Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click With TextBox1 For Each myTextBoxChar As Char In .Text '// loop thru TextBox, one char. at a time. For i As Integer = 0 To arEncryptedChars.Length - 1 '// loop thru all Encrypted char.s in the Array. '// if TextBox char ='s the char in your Array, replace the TextBox char with the same #'ed Array char of the Letters. If myTextBoxChar = arEncryptedChars(i) Then .Text = .Text.Replace(myTextBoxChar, arLetterChars(i)) Next Next End With End Sub
解決策 1
それがうまくいかないことを理解していますか?
いくつかの理由があります。
1)コードが表示どおりの場合、暗号化メソッドの出力はすべて「*」文字になります。どのような状況でもそれを解読して元の入力を取得することはできません。
2) 変更した文字を「*」に置き換えて、暗号化を「破る」ことができない場合、1) は消えますが、それでも機能しません。 テキスト ボックスに「abc」と入力し、「a」を「c」に、「b」を「d」に、「c」を「e」に変更するとします。 私の「a」を「c」に置き換えます。
abc ==> cbc
私の「b」と「d」
cbc ==> cdc
そして私の「c」と「e」:
cdc ==> ede
それを復号化すると、「e」が異なる文字である必要があるとは言えません…
その上、これは良い暗号化ではありません。これは基本的な置換暗号であり、毎月、それらでいっぱいの雑誌を印刷しているので、小さなおばあさんが暇なときに暗号化できます…
暗号化は文字ではなく、バイトで機能する必要があります。また、固定置換の代わりにキーベースのアルゴリズムを使用する必要があります。 :笑う:
解決策 2
見る https://docs.microsoft.com/en-us/dotnet/visual-basic/programming-guide/language-features/strings/walkthrough-encrypting-and-decrypting-strings[^]
[ad_2]
コメント