vb.net には、次のようなパスワードでテキストを暗号化する機能があります。
Public Class PROT
Shared Function EncryptWithPassword(Target As String, Password As String) As String
'Target is the given text
'Password is the password
Dim datas as string =""
'store the encrypted text and with password in datas and return it
Return datas
End Function
End Class
フォームでこの関数を次のように使用します。
Private Sub encryptbtn_Click(sender As Object, e As EventArgs) Handles encryptbtn.Click
Dim texttoencrypt As String = TextBox1.Text
Dim passwordtotext As String = passwordbox.Text
Dim enc As String = PROT.EncryptWithPassword(texttoencrypt, passwordtotext)
IO.File.WriteAllText("C:\Users\Ubaada\Documents\SAFE.txt", enc)
End Sub
Textbox1 のテキストの長さが 5000 より小さい場合、コードはフォームを 2 秒間だけハングさせます。しかし、長さ100000で試してみると、フォームがハングし、応答しなくなりました。40 秒以内に応答するべきではありません (100000 は 5000 の 20 倍であるため)。
私の質問は、フォームがハングせず、長さが 100000 以上の文字列で動作しないように、コードを操作するにはどうすればよいかということです。スレッドについて聞いたことがありますが、次のようには使用できないと思います。
Dim enc as string=Thread.Start(PROT.EncryptWithPassword(texttoencrypt, passwordtotext))