是否可以获取刚使用.NET Rijndael加密的值的加密形式

时间:2014-12-12 15:00:16

标签: asp.net .net encryption

我想加密和描述一小段数据。数据将以加密形式本地存储在cookie中,并远程存储在数据库中。因此,在ASP.NET中加密数据值之后,如何获取加密版本,以便将其作为字符串值传递给存储过程,该值将写入数据库中的表?

使用.NET Rijndael加密方法described here是否可以在将纯文本值写入CryptoStream 后立即获取其加密形式?因此,而不是写#34;消息已被发送"在控制台上,人们会写出值的加密形式吗?

如果是这样,我们如何在加密完成后从CryptoStream中读取加密值?

此外,这是否必须使用NetStream完成?还有其他类型的流不需要TCP客户端吗?

 Dim CryptStream As New CryptoStream(NetStream, RMCrypto.CreateEncryptor(Key, IV), CryptoStreamMode.Write)

  'Create a StreamWriter for easy writing to the 
  'network stream.
  Dim SWriter As New StreamWriter(CryptStream)

  'Write to the stream.
  SWriter.WriteLine("Hello World!")

  'Inform the user that the message was written
  'to the stream.
  Console.WriteLine("The message was sent.")

1 个答案:

答案 0 :(得分:0)

最简单的方法就是使用MemoryStream

  • 加密到MemoryStream
  • 最后关闭作者,以确保所有内容都已刷新
  • 致电MemoryStream.ToArray以获取加密数据
  • 将加密数据写入原始目标(在这种情况下为NetStream,无论是什么)
  • 显示加密数据 - 可能在对其进行base64编码后