Cara membuat tombol dengan menggunakan Visual Basic.NET untuk digunakan dalam bentuk-bentuk otentikasi

Terjemahan Artikel Terjemahan Artikel
ID Artikel: 313091 - Melihat produk di mana artikel ini berlaku.
Perbesar semua | Perkecil semua

Pada Halaman ini

RINGKASAN

Artikel ini menjelaskan cara membuat tombol untuk menggunakan untuk enkripsi, dekripsi, dan validasi data cookie bentuk otentikasi. Anda dapat menggunakan tombol yang Anda buat dalam artikel ini untuk validationKey dan decryptionKey atribut <machinekey>bagian di<b00> </b00> </machinekey><system.web></system.web> unsur dalam Machine.config elemen dari dan Web.config file.

Persyaratan

Daftar berikut menguraikan fitur perangkat keras, perangkat lunak, jaringan infrastruktur, dan paket layanan yang Anda butuhkan:
  • Microsoft Windows 2000 atau Microsoft Windows XP
  • Microsoft.NET Framework
  • Microsoft Internet Information Services (IIS)

Membuat proyek

  1. Mulai Microsoft Visual Studio.NET.
  2. Pada Berkas menu, titik Baru, lalu klik Project.
  3. Dalam Jenis proyek daerah, klik Proyek-proyek Visual Basic.
  4. Dalam Pola acu daerah, klik Aplikasi konsol.
  5. Dalam Nama kotak teks, ketik HashConfigVb, dan kemudian Klik Oke.

Menulis kode untuk password hash

Kode dalam bagian ini membaca dua argumen yang lulus dari baris perintah:
  • Argumen pertama adalah jumlah byte yang digunakan untuk membuat decryptionKey atribut.
  • Argumen kedua adalah jumlah byte yang digunakan untuk membuat validationKey atribut.
Kode menggunakan nomor acak generator untuk membuat acak jumlah byte yang didasarkan pada argumen baris perintah. Setelah byte acak dibuat, byte yang diformat dalam heksadesimal string yang cocok untuk menggunakan di file .config.

Catatan Heksadesimal string yang dibuat adalah dua kali ukuran nilai yang dilewatkan pada baris perintah. Sebagai contoh, jika Anda menentukan byte 24 Key, string yang dihasilkan adalah 48 byte panjangnya setelah konversi. The nilai yang valid untuk decryptionKey adalah 8 atau 24. Ini menciptakan kunci 16 byte untuk enkripsi Data Standar (DES) atau 48 byte kunci untuk Triple DES, masing-masing. Nilai yang valid untuk validationKey adalah 20 sampai 64. Ini menciptakan kunci dari 40 untuk 128 byte panjangnya Setelah konversi. Output dari kode adalah seluruh <machinekey></machinekey> elemen yang dapat Anda copy dan paste ke Machine.config elemen dari atau Web.config file.

  1. Menambahkan file kelas baru yang bernama KeyCreator untuk Anda Visual Basic proyek.
  2. Mengganti kode yang ada dalam file KeyCreator.vb dengan kode berikut:
    Imports System
    Imports System.Text
    Imports System.Security.Cryptography
    
    Namespace Crypto
      Public Class KeyCreator
    	
        Public Shared Sub CreateMachineKey()
          Dim commandLineArgs As String()
          commandLineArgs = System.Environment.GetCommandLineArgs()
    
          Dim decryptionKey As String
          decryptionKey = CreateKey(System.Convert.ToInt32(commandLineArgs(1)))
          Dim validationKey As String
          validationKey = CreateKey(System.Convert.ToInt32(commandLineArgs(2)))
    
          Console.WriteLine("<machineKey validationKey=""{0}"" decryptionKey=""{1}"" validation=""SHA1""/>", _
          validationKey, decryptionKey)
         End Sub
    
         Public Shared Function CreateKey(numBytes As Integer) As String
           Dim rng As RNGCryptoServiceProvider = New RNGCryptoServiceProvider()
           Dim buff(numBytes -1) As Byte
    
           rng.GetBytes(buff)
    				
           Return BytesToHexString(buff)
         End Function
     
         Public Shared Function BytesToHexString(bytes As Byte()) As String
           Dim hexString As StringBuilder = New StringBuilder(64)
           Dim counter as Integer
    
           For counter = 0 To bytes.Length - 1
             hexString.Append(String.Format("{0:X2}", bytes(counter)))
           Next
    
           Return hexString.ToString()
        End Function
    
      End Class
    End Namespace
    					
  3. Buka file Module1.vb yang dibuat secara default, dan Kemudian tambahkan kode berikut dalam Utama sub rutin:
        Dim MyKeyCreator As New Crypto.KeyCreator()
        MyKeyCreator.CreateMachineKey()
    					
  4. Membangun aplikasi.

Menghasilkan hash

Menjalankan aplikasi dari prompt perintah, dan kemudian lulus dalam dua nilai bilangan bulat yang ukuran dekripsi dan tombol validasi. Jika Anda bernama aplikasi konsol HashConfigVb.exe, ketik sintaks berikut pada prompt perintah dalam tempat sampah direktori aplikasi:
HashConfigVb.exe 24 64
Aplikasi harus mengembalikan output yang mirip output berikut:
<machineKey validationKey="08CE6B478DCE73..........E566D8AC5D1C045BA60"
            decryptionKey="4252D6B2268.........67F451CE65D0F2ABE9BCD3A"
            validation="SHA1"/>
					
Catatan Karena kode menggunakan nomor acak generator, output adalah berbeda setiap kali.

Memperbarui file konfigurasi

  1. Cari Machine.config elemen dari atau Web.config file.
  2. Cari bagian <system.web>di konfigurasi berkas.</system.web>
  3. Mengganti bagian <machinekey>dengan output dari aplikasi konsol. Jika tidak ada bagian <machinekey>, menciptakan itu.</machinekey> </machinekey>
  4. Simpan file konfigurasi.
  5. Restart IIS pada semua server di Web peternakan untuk Machine.config elemen dari perubahan untuk mengambil efek.

Pemecahan Masalah

Pastikan bahwa bagian <machinekey>memiliki identik, kunci eksplisit (yaitu tidak menggunakan<b00> </b00> </machinekey>AutoGenerate pilihan untuk atribut di bagian <machinekey>) di Web peternakan di skenario berikut: <b00></b00> </machinekey>
  • Ketika Anda menggunakan bentuk-bentuk otentikasi.
  • Ketika Anda menjalankan sesi negara dalam modus StateServer.
  • Bila Anda ingin ViewState akan tersedia di Web peternakan karena enableViewStateMAC atribut diatur ke Benar secara default.

REFERENSI

Untuk informasi tambahan, klik nomor artikel di bawah ini untuk melihat artikel pada Basis Pengetahuan Microsoft:
308157Bagaimana menerapkan otentikasi berbasis bentuk di ASP Anda.NET aplikasi dengan menggunakan Visual Basic.NET
306238 Bagaimana menerapkan berbasis peran keamanan dengan otentikasi berbasis bentuk di ASP Anda.NET aplikasi dengan menggunakan Visual Basic.NET
306590 INFO: ASP.Ikhtisar bersih keamanan
307626 INFO: ASP.NET konfigurasi overview

Properti

ID Artikel: 313091 - Kajian Terakhir: 24 September 2011 - Revisi: 2.0
Berlaku bagi:
  • Microsoft ASP.NET 1.0
  • Microsoft Visual Basic .NET 2002 Standard Edition
  • Microsoft ASP.NET 1.1
  • Microsoft Visual Basic .NET 2003 Standard Edition
Kata kunci: 
kbproductlink kbconfig kbhowtomaster kbsecurity kbstate kbmt KB313091 KbMtid
Penerjemahan Mesin
PENTING: Artikel ini diterjemahkan menggunakan perangkat lunak mesin penerjemah Microsoft dan bukan oleh seorang penerjemah. Microsoft menawarkan artikel yang diterjemahkan oleh seorang penerjemah maupun artikel yang diterjemahkan menggunakan mesin sehingga Anda akan memiliki akses ke seluruh artikel baru yang diterbitkan di Pangkalan Pengetahuan (Knowledge Base) dalam bahasa yang Anda gunakan. Namun, artikel yang diterjemahkan menggunakan mesin tidak selalu sempurna. Artikel tersebut mungkin memiliki kesalahan kosa kata, sintaksis, atau tata bahasa, hampir sama seperti orang asing yang berbicara dalam bahasa Anda. Microsoft tidak bertanggung jawab terhadap akurasi, kesalahan atau kerusakan yang disebabkan karena kesalahan penerjemahan konten atau penggunaannya oleh para pelanggan. Microsoft juga sering memperbarui perangkat lunak mesin penerjemah.
Klik disini untuk melihat versi Inggris dari artikel ini:313091

Berikan Masukan

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com