完全にランダムな文字の文字列を、読み返すことができるものに変換する必要があります! 私の考えは:
文字列の例: こんにちは
h (Ascii) -> 68 (hex)
i (Ascii) -> 69 (hex)
だから変換するhi
必要があります6869
私の値は現在入っていますBase64
(私は で取得しましたConvert.ToBase64String()
)。この「ASCII から 16 進」への変換は正しいですか? base64 では、「4kIw0ueWC/+c=」のような値がありますが、必要なのは文字だけです。特殊文字はシステムを台無しにする可能性があります
vb.net Convert は base64 文字列にのみ変換できます:(
編集:これが私の最終的な解決策です:enc
変数内にbase64文字列を取得し、最初にASCIIに変換してから、次を使用して対応する16進数に変換しました:
Dim bytes As Byte() = System.Text.Encoding.ASCII.GetBytes(enc)
Dim hex As String = BitConverter.ToString(bytes).Replace("-", String.Empty)
その後、私はこれを次のように逆にしました:
Dim b((input.Length \ 2) - 1) As Byte
For i As Int32 = 0 To b.GetUpperBound(0)
b(i) = Byte.Parse(input.Substring(i * 2, 2), Globalization.NumberStyles.HexNumber)
Next i
Dim enc As New System.Text.ASCIIEncoding()
result = enc.GetString(b)
このすべての後、私はbase64stringを取り戻し、最後にもう一度変換しましたConvert.FromBase64String(result)
終わり!ヒントをありがとう:)