Làm th? nào đ? t?o ra phím b?ng cách s? d?ng Visual Basic.NET đ? s? d?ng trong các h?nh th?c xác th?c

D?ch tiêu đ? D?ch tiêu đ?
ID c?a bài: 313091 - Xem s?n ph?m mà bài này áp d?ng vào.
Bung t?t c? | Thu g?n t?t c?

? Trang này

TÓM T?T

Bài vi?t này mô t? cách t?o phím đ? s? d?ng cho m? hóa gi?i m? và xác nh?n d? li?u cookie c?a các h?nh th?c xác th?c. B?n có th? s? d?ng các phím mà b?n t?o trong bài vi?t này cho các validationKey và các decryptionKey thu?c tính c?a các <machinekey>ph?n trong các<b00> </b00> </machinekey><system.web></system.web> y?u t? trong Machine.config và Web.config t?p tin.

Yêu c?u

Danh sách sau v?ch ra đư?c đ? ngh? ph?n c?ng, ph?n m?m, h? t?ng m?ng, và gói d?ch v? mà b?n c?n:
  • Microsoft Windows 2000 ho?c Microsoft Windows XP
  • Microsoft.NET Framework
  • Microsoft Internet Information Services (IIS)

T?o ra các d? án

  1. B?t đ?u Microsoft Visual Studio.NET.
  2. Ngày Tệp tr?nh đơn, đi?m đ?n M?i, sau đó b?m Dự án.
  3. Trong các Các lo?i d? án khu v?c, nh?p vào Visual Basic d? án.
  4. Trong các Khuôn mẫu khu v?c, nh?p vào Giao di?n đi?u khi?n ?ng d?ng.
  5. Trong các Tên h?p văn b?n, lo?i HashConfigVb, và sau đó Nh?p vào Ok.

Vi?t m? hash m?t kh?u

M? trong ph?n này l?n đ?c hai đ?i s? đư?c truy?n t? d?ng l?nh:
  • Đ?i s? đ?u tiên là s? byte đư?c s? d?ng đ? t?o các decryptionKey thu?c tính.
  • Đ?i s? th? hai là s? lư?ng byte đư?c s? d?ng đ? t?o các validationKey thu?c tính.
M? s? d?ng m?t b? t?o s? ng?u nhiên đ? t?o ra m?t ng?u nhiên s? byte d?a trên các đ?i s? d?ng l?nh. Sau byte ng?u nhiên t?o, các byte đang đư?c đ?nh d?ng thành m?t chu?i h? th?p l?c phân phù h?p cho s? d?ng trong các t?p tin .config.

Chú ý Chu?i h? th?p l?c phân đư?c t?o ra là hai l?n kích thư?c c?a các giá tr? đư?c thông qua vào d?ng l?nh. Ví d?, n?u b?n ch? đ?nh 24 byte Đ?i v?i m?t khóa, chu?i k?t qu? là 48 byte dài sau khi chuy?n đ?i. Các giá tr? h?p l? cho decryptionKey là 8 ho?c 24. Đi?u này t?o ra m?t khoá 16 byte cho m? hóa d? li?u Tiêu chu?n (DES) ho?c m?t byte 48 chính cho Triple DES, tương ?ng. Giá tr? h?p l? cho validationKey có 20 đ?n 64. Đi?u này t?o ra phím t? 40 đ?n 128 byte dài sau khi chuy?n đ?i. Đ?u ra t? m? là m?t toàn b? <machinekey></machinekey> y?u t? mà b?n có th? sao chép và dán vào m?t Machine.config ho?c m?t Web.config t?p.

  1. Thêm m?t l?p m?i t?p tin tên KeyCreator c?a b?n Visual BASIC d? án.
  2. Thay th? m? hi?n có trong t?p tin KeyCreator.vb v?i các m? sau đây:
    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. M? t?p tin Module1.vb đư?c t?o ra theo m?c đ?nh, và sau đó thêm m? sau đây trong các Chính ph? thói quen:
        Dim MyKeyCreator As New Crypto.KeyCreator()
        MyKeyCreator.CreateMachineKey()
    					
  4. Xây d?ng các ?ng d?ng.

T?o ra các băm

Ch?y các ?ng d?ng t? m?t d?u nh?c l?nh, và sau đó vư?t qua trong hai giá tr? s? nguyên là kích thư?c c?a gi?i m? và các phím xác nh?n. N?u b?n đ?t tên ?ng d?ng giao di?n đi?u khi?n HashConfigVb.exe, g? cú t?i d?u nh?c l?nh trong rác Danh m?c các ?ng d?ng:
HashConfigVb.exe 24 64
?ng d?ng nên tr? v? đ?u ra tương t? như các đ?u ra sau đây:
<machineKey validationKey="08CE6B478DCE73..........E566D8AC5D1C045BA60"
            decryptionKey="4252D6B2268.........67F451CE65D0F2ABE9BCD3A"
            validation="SHA1"/>
					
Chú ý B?i v? các m? s? d?ng m?t b? t?o s? ng?u nhiên, đ?u ra là khác nhau m?i l?n.

C?p Nh?t t?p tin c?u h?nh

  1. Xác đ?nh v? trí Machine.config ho?c Web.config t?p tin.
  2. Xác đ?nh v? trí ph?n <system.web>trong c?u h?nh t?p.</system.web>
  3. Thay th? ph?n <machinekey>v?i s?n lư?ng t? ?ng d?ng giao di?n đi?u khi?n. N?u ph?n <machinekey>không t?n t?i, t?o nó</machinekey> </machinekey>
  4. Lưu t?p tin c?u h?nh.
  5. Kh?i đ?ng l?i IIS trên t?t c? các máy ch? Web trang tr?i cho nh?ng thay đ?i Machine.config có hi?u l?c.

Khắc phục sự cố

H?y ch?c ch?n r?ng ph?n <machinekey>có gi?ng h?t nhau, r? ràng phím (có ngh?a là, không s? d?ng các<b00> </b00> </machinekey>AutoGenerate tùy ch?n cho các thu?c tính trong ph?n <machinekey>) qua nông trang Web trong các k?ch b?n sau đây: <b00></b00> </machinekey>
  • Khi b?n s? d?ng các h?nh th?c xác th?c.
  • Khi b?n ch?y phiên bang trong ch? đ? StateServer.
  • Khi b?n mu?n ViewState có s?n trên m?t trang tr?i Web b?i v? các enableViewStateMAC thu?c tính đư?c đ?t thành S? th?t Theo m?c đ?nh.

THAM KH?O

Đ? bi?t thêm chi ti?t, nh?p vào s? bài vi?t sau đ? xem các bài vi?t trong cơ s? ki?n th?c Microsoft:
308157Làm th? nào đ? th?c hi?n d?a trên các h?nh th?c xác th?c trong ASP c?a b?n.NET ?ng d?ng b?ng cách s? d?ng Visual Basic.NET
306238 Làm th? nào đ? th?c hi?n d?a trên vai tr? an ninh v?i d?a trên các h?nh th?c xác th?c trong ASP c?a b?n.NET ?ng d?ng b?ng cách s? d?ng Visual Basic.NET
306590 THÔNG BÁO: ASP.T?ng quan v? an ninh m?ng
307626 THÔNG BÁO: ASP.T?ng quan v? c?u h?nh NET

Thu?c tính

ID c?a bài: 313091 - L?n xem xét sau cùng: 27 Tháng Tám 2011 - Xem xét l?i: 2.0
Áp d?ng
  • Microsoft ASP.NET 1.0
  • Microsoft Visual Basic .NET 2002 Standard Edition
  • Microsoft ASP.NET 1.1
  • Microsoft Visual Basic .NET 2003 Standard Edition
T? khóa: 
kbproductlink kbconfig kbhowtomaster kbsecurity kbstate kbmt KB313091 KbMtvi
Máy d?ch
QUAN TRỌNG: Bài vi?t này đư?c d?ch b?ng ph?n m?m d?ch máy c?a Microsoft ch? không ph?i do con ngư?i d?ch. Microsoft cung c?p các bài vi?t do con ngư?i d?ch và c? các bài vi?t do máy d?ch đ? b?n có th? truy c?p vào t?t c? các bài vi?t trong Cơ s? Ki?n th?c c?a chúng tôi b?ng ngôn ng? c?a b?n. Tuy nhiên, bài vi?t do máy d?ch không ph?i lúc nào c?ng hoàn h?o. Lo?i bài vi?t này có th? ch?a các sai sót v? t? v?ng, cú pháp ho?c ng? pháp, gi?ng như m?t ngư?i nư?c ngoài có th? m?c sai sót khi nói ngôn ng? c?a b?n. Microsoft không ch?u trách nhi?m v? b?t k? s? thi?u chính xác, sai sót ho?c thi?t h?i nào do vi?c d?ch sai n?i dung ho?c do ho?t đ?ng s? d?ng c?a khách hàng gây ra. Microsoft c?ng thư?ng xuyên c?p nh?t ph?n m?m d?ch máy này.
Nh?p chu?t vào đây đ? xem b?n ti?ng Anh c?a bài vi?t này:313091

Cung cấp Phản hồi

 

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