我有以下代码:
Public Shared Function Crypt(text As String) As String
If text <> "" Then
Dim cryptoProvider As New DESCryptoServiceProvider()
Dim ms As New MemoryStream()
Dim cs As New CryptoStream(ms, cryptoProvider.CreateEncryptor(KEY_64, IV_64), CryptoStreamMode.Write)
Dim sw As New StreamWriter(cs)
sw.Write(text)
sw.Flush()
cs.FlushFinalBlock()
ms.Flush()
'convert back to a string
Return Convert.ToBase64String(ms.GetBuffer(), 0, CInt(ms.Length))
End If
Return ""
End Function
在 Fortify 扫描后,他们报告我需要释放 cs CryptoStream 对象。
据我所知, FlushFinalBlock() 方法可以完成这项工作。
我也需要调用 disponse() 函数吗?或者可能是一个假阳性问题?