當前位置: 首頁>>代碼示例>>VB.NET>>正文


VB.NET Marshal.SecureStringToGlobalAllocAnsi方法代碼示例

本文整理匯總了VB.NET中System.Runtime.InteropServices.Marshal.SecureStringToGlobalAllocAnsi方法的典型用法代碼示例。如果您正苦於以下問題:VB.NET Marshal.SecureStringToGlobalAllocAnsi方法的具體用法?VB.NET Marshal.SecureStringToGlobalAllocAnsi怎麽用?VB.NET Marshal.SecureStringToGlobalAllocAnsi使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在System.Runtime.InteropServices.Marshal的用法示例。


在下文中一共展示了Marshal.SecureStringToGlobalAllocAnsi方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的VB.NET代碼示例。

示例1: Example

' 導入命名空間
Imports System.Runtime.InteropServices
Imports System.Security

Module Example
    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.SecureStringToGlobalAllocAnsi(passWord)
        passWord.Dispose()

        If unmanagedRef <> IntPtr.Zero Then
            Console.WriteLine("Zeroing out unmanaged memory...")
            Marshal.ZeroFreeGlobalAllocAnsi(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,代碼行數:54,代碼來源:Marshal.SecureStringToGlobalAllocAnsi

輸出:

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


注:本文中的System.Runtime.InteropServices.Marshal.SecureStringToGlobalAllocAnsi方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。