当前位置: 首页>>代码示例>>VB.NET>>正文


VB.NET Marshal.SecureStringToCoTaskMemUnicode方法代码示例

本文整理汇总了VB.NET中System.Runtime.InteropServices.Marshal.SecureStringToCoTaskMemUnicode方法的典型用法代码示例。如果您正苦于以下问题:VB.NET Marshal.SecureStringToCoTaskMemUnicode方法的具体用法?VB.NET Marshal.SecureStringToCoTaskMemUnicode怎么用?VB.NET Marshal.SecureStringToCoTaskMemUnicode使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在System.Runtime.InteropServices.Marshal的用法示例。


在下文中一共展示了Marshal.SecureStringToCoTaskMemUnicode方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的VB.NET代码示例。

示例1: Example

' 导入命名空间
Imports System.Runtime.InteropServices
Imports System.Security

Module Example
    Public Sub Main()
        Dim unmanagedRef As IntPtr
        ' Ask the user for a password.
        Console.Write("Please enter your password: ")
        Dim passWord As SecureString = GetPassword()

        Console.WriteLine("Copying and decrypting the string to unmanaged memory...")
        ' Copy the Secure string to unmanaged memory (and decrypt it).
        unmanagedRef = Marshal.SecureStringToCoTaskMemUnicode(passWord)
        passWord.Dispose()

        If unmanagedRef <> IntPtr.Size Then
            Console.WriteLine("Zeroing out unmanaged memory...")
            Marshal.ZeroFreeCoTaskMemUnicode(unmanagedRef)
        End If
        Console.WriteLine("Done.")
    End Sub

    Function GetPassword() As SecureString
        Dim password As New SecureString()

        ' Get the first character of the password.
        Dim nextKey As ConsoleKeyInfo = Console.ReadKey(True)
        While nextKey.Key <> ConsoleKey.Enter
            If nextKey.Key = ConsoleKey.BackSpace Then
                If password.Length > 0 Then
                    password.RemoveAt(password.Length - 1)

                    ' Erase the last * as well.
                    Console.Write(nextKey.KeyChar)
                    Console.Write(" ")
                    Console.Write(nextKey.KeyChar)
                End If
            Else
                password.AppendChar(nextKey.KeyChar)
                Console.Write("*")
            End If

            nextKey = Console.ReadKey(True)
        End While
        Console.WriteLine()

        ' lock the password down
        password.MakeReadOnly()
        Return password
    End Function
End Module
开发者ID:VB.NET开发者,项目名称:System.Runtime.InteropServices,代码行数:52,代码来源:Marshal.SecureStringToCoTaskMemUnicode

输出:

Please enter your password: **********
Copying and decrypting the string to unmanaged memory...
Zeroing out unmanaged memory...
Done.


注:本文中的System.Runtime.InteropServices.Marshal.SecureStringToCoTaskMemUnicode方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。