亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? dataprotection.vb

?? TaskVision 應用程序展示了用于個人和公司相關任務管理的一個完整的 n 層應用程序。該示例附帶了用于運行某個私有任務服務器應用程序的隨時可運行的示范客戶端、全部客戶端源代碼
?? VB
字號:
Imports System
Imports System.Runtime.InteropServices
Imports System.Text
Imports System.Security

<Serializable()> _
Public NotInheritable Class DataProtection

    <Flags()> _
    Public Enum CryptProtectPromptFlags
        CRYPTPROTECT_PROMPT_ON_UNPROTECT = &H1
        CRYPTPROTECT_PROMPT_ON_PROTECT = &H2
        CRYPTPROTECT_PROMPT_RESERVED = &H4
        CRYPTPROTECT_PROMPT_STRONG = &H8
        CRYPTPROTECT_PROMPT_REQUIRE_STRONG = &H10
    End Enum

    <Flags()> _
    Public Enum CryptProtectDataFlags
        CRYPTPROTECT_UI_FORBIDDEN = &H1
        CRYPTPROTECT_LOCAL_MACHINE = &H4
        CRYPTPROTECT_CRED_SYNC = &H8
        CRYPTPROTECT_AUDIT = &H10
        CRYPTPROTECT_NO_RECOVERY = &H20
        CRYPTPROTECT_VERIFY_PROTECTION = &H40
        CRYPTPROTECT_CRED_REGENERATE = &H80
    End Enum

    Public Shared Function ProtectData(ByVal data As String, ByVal name As String) As String
        Return ProtectData(data, name, CryptProtectDataFlags.CRYPTPROTECT_UI_FORBIDDEN Or CryptProtectDataFlags.CRYPTPROTECT_LOCAL_MACHINE)
    End Function

    Public Shared Function ProtectData(ByVal data As Byte(), ByVal name As String) As Byte()
        Return ProtectData(data, name, CryptProtectDataFlags.CRYPTPROTECT_UI_FORBIDDEN Or CryptProtectDataFlags.CRYPTPROTECT_LOCAL_MACHINE)
    End Function

    Public Shared Function ProtectData(ByVal data As String, ByVal name As String, ByVal flags As CryptProtectDataFlags) As String
        Dim dataIn As Byte() = Encoding.Unicode.GetBytes(data)
        Dim dataOut As Byte() = ProtectData(dataIn, name, flags)

        If Not dataOut Is Nothing Then
            Return (Convert.ToBase64String(dataOut))
        Else
            Return Nothing
        End If
    End Function

    Private Shared Function ProtectData(ByVal data As Byte(), ByVal name As String, ByVal dwFlags As CryptProtectDataFlags) As Byte()
        Dim cipherText As Byte() = Nothing

        'copy data into unmanaged memory
        Dim din As New DPAPI.DATA_BLOB()
        din.cbData = data.Length
        din.pbData = Marshal.AllocHGlobal(din.cbData)

        If din.pbData.Equals(IntPtr.Zero) Then Throw New OutOfMemoryException("Unable to allocate memory for buffer.")

        Marshal.Copy(data, 0, din.pbData, din.cbData)

        Dim dout As New DPAPI.DATA_BLOB()

        Try
            Dim cryptoRetval As Boolean = DPAPI.CryptProtectData(din, name, IntPtr.Zero, IntPtr.Zero, IntPtr.Zero, dwFlags, dout)

            If cryptoRetval Then 'ERROR_SUCCESS?
                Dim startIndex As Integer = 0
                ReDim cipherText(dout.cbData)
                Marshal.Copy(dout.pbData, cipherText, startIndex, dout.cbData)
                DPAPI.LocalFree(dout.pbData)
            Else
                Dim errCode As Integer = Marshal.GetLastWin32Error()
                Dim buffer As New StringBuilder(256)
                Win32Error.FormatMessage(Win32Error.FormatMessageFlags.FORMAT_MESSAGE_FROM_SYSTEM, IntPtr.Zero, errCode, 0, buffer, buffer.Capacity, IntPtr.Zero)
            End If
        Finally
            'free the allocated memroy in use
            If Not din.pbData.Equals(IntPtr.Zero) Then Marshal.FreeHGlobal(din.pbData)
        End Try

        Return cipherText

    End Function

    Public Shared Function UnprotectData(ByVal data As Byte()) As Byte()
        Return UnprotectData(data, CryptProtectDataFlags.CRYPTPROTECT_UI_FORBIDDEN)
    End Function

    Public Shared Function UnprotectData(ByVal data As String) As String
        Dim dataIn As Byte() = Convert.FromBase64String(data)
        Dim dataOut As Byte() = UnprotectData(dataIn)

        If Not dataOut Is Nothing Then
            Return Encoding.Unicode.GetString(dataOut)
        Else
            Return Nothing
        End If
    End Function

    Friend Shared Function UnprotectData(ByVal data As Byte(), ByVal dwFlags As CryptProtectDataFlags) As Byte()
        Dim clearText As Byte() = Nothing

        'copy data into unmanaged memory
        Dim din As New DPAPI.DATA_BLOB()
        din.cbData = data.Length
        din.pbData = Marshal.AllocHGlobal(din.cbData)

        If din.pbData.Equals(IntPtr.Zero) Then Throw New OutOfMemoryException("Unable to allocate memory for buffer.")

        Marshal.Copy(data, 0, din.pbData, din.cbData)

        Dim dout As New DPAPI.DATA_BLOB()

        Try
            Dim cryptoRetval As Boolean = DPAPI.CryptUnprotectData(din, Nothing, IntPtr.Zero, IntPtr.Zero, IntPtr.Zero, dwFlags, dout)

            If cryptoRetval Then 'ERROR_SUCCESS?
                ReDim clearText(dout.cbData)
                Marshal.Copy(dout.pbData, clearText, 0, dout.cbData)
                DPAPI.LocalFree(dout.pbData)
            Else
                Dim errCode As Integer = Marshal.GetLastWin32Error()
                Dim buffer As New StringBuilder(256)
                Win32Error.FormatMessage(Win32Error.FormatMessageFlags.FORMAT_MESSAGE_FROM_SYSTEM, IntPtr.Zero, errCode, 0, buffer, buffer.Capacity, IntPtr.Zero)
            End If
        Finally
            'free the allocated memory in use
            If Not din.pbData.Equals(IntPtr.Zero) Then Marshal.FreeHGlobal(din.pbData)
        End Try

        Return clearText
    End Function

    Friend Shared Sub InitPromptstruct(ByRef ps As DPAPI.CRYPTPROTECT_PROMPTSTRUCT)
        ps.cbSize = Marshal.SizeOf(GetType(DPAPI.CRYPTPROTECT_PROMPTSTRUCT))
        ps.dwPromptFlags = 0
        ps.hwndApp = IntPtr.Zero
        ps.szPrompt = Nothing
    End Sub
End Class

<SuppressUnmanagedCodeSecurityAttribute()> _
Friend Class DPAPI
    <DllImport("crypt32")> _
    Public Shared Function CryptProtectData(ByRef dataIn As DATA_BLOB, ByVal szDataDescr As String, ByVal optionalEntropy As IntPtr, ByVal pvReserved As IntPtr, ByVal pPromptStruct As IntPtr, ByVal dwFlags As DataProtection.CryptProtectDataFlags, ByRef pDataOut As DATA_BLOB) As Boolean
    End Function

    <DllImport("crypt32")> _
    Public Shared Function CryptUnprotectData(ByRef dataIn As DATA_BLOB, ByVal ppszDataDescr As StringBuilder, ByVal optionalEntropy As IntPtr, ByVal pvReserved As IntPtr, ByVal pPromptStruct As IntPtr, ByVal dwFlags As DataProtection.CryptProtectDataFlags, ByRef pDataOut As DATA_BLOB) As Boolean
    End Function

    <DllImport("Kernel32.dll")> _
    Public Shared Function LocalFree(ByVal hMem As IntPtr) As IntPtr
    End Function

    <StructLayout(LayoutKind.Sequential)> _
    Public Structure DATA_BLOB
        Public cbData As Integer
        Public pbData As IntPtr
    End Structure

    <StructLayout(LayoutKind.Sequential)> _
    Public Structure CRYPTPROTECT_PROMPTSTRUCT
        Public cbSize As Integer '= Marshal.SizeOf(typeof(CRYPTPROTECT_PROMPTSTRUCT))
        Public dwPromptFlags As Integer '= 0
        Public hwndApp As IntPtr '= IntPtr.Zero
        Public szPrompt As String ' = nothing
    End Structure
End Class

Friend Class Win32Error
    <Flags()> _
    Public Enum FormatMessageFlags : int
        FORMAT_MESSAGE_ALLOCATE_BUFFER = &H100
        FORMAT_MESSAGE_IGNORE_INSERTS = &H200
        FORMAT_MESSAGE_FROM_STRING = &H400
        FORMAT_MESSAGE_FROM_HMODULE = &H800
        FORMAT_MESSAGE_FROM_SYSTEM = &H1000
        FORMAT_MESSAGE_ARGUMENT_ARRAY = &H2000
        FORMAT_MESSAGE_MAX_WIDTH_MASK = &HFF
    End Enum

    <DllImport("Kernel32.dll")> _
    Public Shared Function FormatMessage(ByVal flags As FormatMessageFlags, ByVal source As IntPtr, ByVal messageId As Integer, ByVal languageId As Integer, ByVal buffer As StringBuilder, ByVal size As Integer, ByVal arguments As IntPtr) As Integer
    End Function
End Class

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一区二区三区中文字幕| 日韩欧美国产麻豆| 日韩一区二区在线观看视频播放| 日韩欧美在线网站| 亚洲精品一卡二卡| 国产麻豆精品一区二区| 在线亚洲免费视频| 久久亚洲一区二区三区明星换脸 | 国产精品白丝jk黑袜喷水| 色妞www精品视频| 久久综合网色—综合色88| 亚洲一区二区三区不卡国产欧美| 国产一区二区视频在线| 69堂国产成人免费视频| 亚洲黄色小视频| 99久久久精品| 欧美激情综合网| 免费在线观看一区二区三区| 在线视频欧美区| 亚洲精品视频自拍| 99在线视频精品| 欧美国产精品一区二区三区| 久久国产精品99久久人人澡| 欧美老女人第四色| 午夜视频在线观看一区| 在线免费视频一区二区| 亚洲四区在线观看| 色综合天天做天天爱| 国产精品理论在线观看| 国产传媒欧美日韩成人| 久久久夜色精品亚洲| 国产精品一区二区你懂的| 精品欧美一区二区久久| 麻豆国产欧美日韩综合精品二区| 777久久久精品| 男女性色大片免费观看一区二区| 欧美精品v日韩精品v韩国精品v| 国产91富婆露脸刺激对白| 欧美精品一区二区三区蜜桃视频| 久久精品99国产精品日本| 欧美成人乱码一区二区三区| 麻豆精品视频在线| 久久久久久久网| 高清国产一区二区三区| 欧美国产欧美综合| 色综合天天视频在线观看| 亚洲一区视频在线观看视频| 91九色最新地址| 丝袜a∨在线一区二区三区不卡| 欧美精品乱人伦久久久久久| 麻豆精品视频在线| 亚洲国产精品激情在线观看| 91麻豆免费视频| 日日夜夜免费精品视频| 日韩美一区二区三区| 国产91清纯白嫩初高中在线观看| 亚洲欧洲精品一区二区三区| 欧美中文字幕不卡| 久久国产视频网| 中文天堂在线一区| 欧美性大战久久久久久久| 免费在线观看视频一区| 中文字幕一区二区不卡| 欧美日韩成人一区| 国产一区二区电影| 一区二区三区在线观看网站| 91精品国产入口| 成人丝袜18视频在线观看| 一区二区国产盗摄色噜噜| 日韩一二三区视频| 99re热这里只有精品免费视频| 亚洲成人在线网站| 久久精品在这里| 欧美日韩国产欧美日美国产精品| 久久狠狠亚洲综合| 亚洲午夜激情av| 亚洲成人资源网| 国产精品第13页| 日韩欧美区一区二| 91麻豆swag| 国产寡妇亲子伦一区二区| 夜夜亚洲天天久久| 国产日产精品1区| 在线综合视频播放| 99v久久综合狠狠综合久久| 麻豆成人91精品二区三区| 亚洲视频一区二区在线| xf在线a精品一区二区视频网站| 91久久国产最好的精华液| 国产99久久久国产精品免费看| 视频一区在线视频| 亚洲你懂的在线视频| 久久精子c满五个校花| 日韩欧美久久久| 欧美日韩一本到| 99精品视频在线观看免费| 国产一区二区三区免费播放| 日韩在线卡一卡二| 亚洲综合av网| 亚洲色图丝袜美腿| 国产精品萝li| 国产亚洲综合在线| 精品国产污污免费网站入口 | 精品久久久久久无| 欧美日本韩国一区二区三区视频| 99久久精品免费看| 成人动漫精品一区二区| 国产精一品亚洲二区在线视频| 日韩成人av影视| 天堂在线亚洲视频| 亚洲高清免费观看| 亚洲成人在线免费| 日韩电影在线免费| 亚洲.国产.中文慕字在线| 依依成人综合视频| 亚洲一区在线观看免费| 一区二区高清在线| 一区二区日韩电影| 亚洲国产精品久久久久秋霞影院| 亚洲欧美二区三区| 亚洲综合一区在线| 午夜国产不卡在线观看视频| 亚洲二区视频在线| 日产国产欧美视频一区精品| 亚洲444eee在线观看| 亚洲国产精品欧美一二99| 亚洲国产成人91porn| 亚洲电影你懂得| 日日骚欧美日韩| 毛片av一区二区| 国产精品1区二区.| 波多野结衣中文字幕一区二区三区 | 国产一区二区三区| 国产成人精品一区二区三区四区 | 欧美一卡在线观看| 欧美大片顶级少妇| 国产欧美日韩综合精品一区二区| 国产精品理论在线观看| 亚洲一区二区三区三| 日韩精品一二三四| 国产一区美女在线| 不卡电影免费在线播放一区| 欧美视频中文字幕| 精品福利av导航| 日韩毛片精品高清免费| 亚洲成av人片| 国产综合色视频| 91视频免费观看| 日韩一区二区三区免费看| 国产欧美一区二区在线| 亚洲美女少妇撒尿| 五月天一区二区| 国产精品一二三区在线| 91传媒视频在线播放| 欧美成人一级视频| 夜夜夜精品看看| 国内精品国产三级国产a久久| www.爱久久.com| 日韩一区二区在线播放| 国产欧美日韩另类一区| 亚洲一区二三区| 丁香六月综合激情| 91麻豆精品国产自产在线观看一区| 久久久99久久精品欧美| 亚洲1区2区3区视频| 99视频一区二区| 精品乱人伦一区二区三区| 亚洲黄色av一区| 国产99久久久精品| 日韩一区二区三免费高清| 亚洲免费视频成人| 国产精品一二三四五| 欧美美女一区二区三区| 国产精品美女一区二区在线观看| 日韩黄色在线观看| 色综合天天综合| 亚洲国产精品ⅴa在线观看| 婷婷成人综合网| 在线亚洲高清视频| 成人免费小视频| 成人av先锋影音| 精品福利一二区| 久久99精品久久久久久国产越南 | 色综合色狠狠综合色| 久久蜜桃av一区二区天堂| 蜜臀精品一区二区三区在线观看| 91视频免费播放| 亚洲人快播电影网| 成人app网站| 欧美激情一区二区三区蜜桃视频| 蜜桃av一区二区在线观看| 欧美日韩成人一区| 亚洲成人先锋电影| 欧美午夜一区二区三区| 怡红院av一区二区三区| 在线观看亚洲精品| 亚洲精品视频观看| 色悠久久久久综合欧美99| 亚洲图片激情小说| 93久久精品日日躁夜夜躁欧美|