Encode
非推奨のandメソッドを ASP.NET 4.5Decode
の新しいMachineKey.Protect
andメソッドに置き換えようとしています。Unprotect
古いメソッドを使用して Cookie 値の暗号化と復号化も行っていましたが、Unprotect
メソッドを呼び出すとCryptographyException
.
これは、保護メソッドによって発行されたバイナリ データの文字列表現を Cookie 値に保存しようとすることと関係があると思います。
メソッドは簡単です。
Public Shared Function Encode(text As String) As String
If String.IsNullOrEmpty(text) Then
Return String.Empty
End If
Dim stream As Byte() = Encoding.Unicode.GetBytes(text)
Dim encodedValue As Byte() = MachineKey.Protect(stream, "test")
Return Encoding.Unicode.GetString(encodedValue)
End Function
Public Shared Function Decode(text As String) As String
If String.IsNullOrEmpty(text) Then
Return String.Empty
End If
Dim stream As Byte() = Convert.FromBase64String(text)
Dim decodedValue = MachineKey.Unprotect(stream, "test")
Return Encoding.Unicode.GetString(decodedValue)
End Function
Cookie 値を使用して新しいメソッドを実装する方法に関するヒントはありますか? または、非推奨のエンコード/デコード メソッドまたは Cookie エンコーディングの代替方法に固執する必要がありますか?