Tôi đang xây dựng Xác thực thư mục hoạt động trong ứng dụng của mình và tôi định liên kết tài khoản nội bộ của ứng dụng với SID miền của người dùng. Nó dễ dàng hơn cho tôi để làm việc với các định dạng chuỗi của sid hơn một mảng byte vì vậy tôi đã có kế hoạch để lưu trữ nó trong cơ sở dữ liệu như là một chuỗi. Bao lâu tôi nên làm cho các lĩnh vực để đảm bảo SID sẽ không bị cắt ngắn?Độ dài tối đa của SID ở định dạng SDDL
Trả lời
Tôi có cùng một câu hỏi, và tôi tin rằng câu trả lời đúng là:
SID như chuỗi: 184 ký tự, hoặc varchar (184) trong SQL Server
SID như chuỗi các chữ số Hex: 136 ký tự hoặc varchar (136) trong SQL server
SID như nhị phân: 68 byte, hoặc varbinary (68) trong SQL server
tôi đã không kiểm tra toán bản thân mình, nhưng các kỹ thuật sử dụng ở đây trông hợp lệ: https://groups.google.com/d/msg/microsoft.public.dotnet.security/NpIi7c2Toi8/31SVhcepY58J
Tham khảo các chương trình được viết bởi Russell Mangel vào ngày 19 tháng tám năm 2006, cũng sao chép ở đây để tham khảo:
Vì vậy, câu trả lời cho câu hỏi của tôi là:
varbinary (68) - nhị phân tinh khiết varchar (136) - (68 * 2) = hexString varchar (184) - SID Chuỗi
tôi đã viết một chương trình nhỏ để kiểm tra, thông báo rằng NET 2.0 có SecurityIdentifier.MaxBinaryLength, tôi không biết về điều này.
Console.WriteLine("SID Min. num Bytes: {0}", SecurityIdentifier.MinBinaryLength); Console.WriteLine("SID Min. num Bytes: {0}", SecurityIdentifier.MaxBinaryLength); Byte[] bytes = new byte[SecurityIdentifier.MaxBinaryLength]; for (Int32 i = 0; i < bytes.Length; i++) { bytes[i] = 0xFF; } bytes[0] = 0x01; // Must be 1 bytes[1] = 0x0F; // Max 15 (base10) SecurityIdentifier sid = new SecurityIdentifier(bytes, 0); String sidString = sid.ToString(); Console.WriteLine("Max length of SID in String format: {0} ", sidString.Length); Console.WriteLine(sidString);
Kết quả ------------------------------
SID Min. num Số byte: 8 SID Min. num Bytes: 68 Max length của SID ở định dạng String: 184 S-1-281474976710655-4294967295-4294967295-4294967295-4294967295-4294967295- 4294967295-4294967295-4294967295-4294967295-4294967295-4294967295 -4294967295-4294967295-4294967295 -4294967295
- 1. Độ dài tối đa của một openID
- 2. Độ dài tối đa của SQL CE
- 3. Độ dài byte tối đa []?
- 4. Độ dài tối đa của chuỗi Sqlite Android?
- 5. Độ dài mặc định tối đa xsd string
- 6. Độ dài ký tự tối đa UUID
- 7. Độ dài tối đa của chuỗi dòng lệnh
- 8. Độ dài tối đa của phiên bản rfc 4122 4
- 9. Thay đổi độ dài tối đa của cột VARCHAR?
- 10. Thêm "Độ dài tối đa" vào Regex
- 11. Android EditText Độ dài tối đa
- 12. độ dài tối đa của html textbox là gì
- 13. Độ dài mật khẩu người dùng tối đa của MySQL
- 14. Độ dài tối đa của tên bảng trong MySQL
- 15. Độ dài tối đa của tên cột trong MySQL
- 16. Độ dài tối đa của truy vấn SQL
- 17. Độ dài tối đa của một ListProperty là bao nhiêu?
- 18. Đặt độ dài tối đa của một TextBlock trong XAML
- 19. Độ dài tối đa của tên facebook là bao nhiêu?
- 20. Độ dài tối đa của mục mô tả RSS
- 21. Độ dài tối đa của thuộc tính tiêu đề
- 22. Cách đặt độ dài tối đa của cột datagridview
- 23. Độ dài tối đa của biến chuỗi trong Android
- 24. Độ dài tối đa của tên "trường tzname"/tên định danh múi giờ
- 25. Nhận độ dài giá trị cột, không phải độ dài cột tối đa của giá trị
- 26. Android: chiều dài tối đa của url
- 27. # 1071 - Khóa được chỉ định quá dài; độ dài khóa tối đa là 1000 byte
- 28. "Khóa được chỉ định quá dài; độ dài khóa tối đa là 1000 byte"
- 29. Do ArrayBuffers có độ dài tối đa không?
- 30. Tối thiểu ở mức tối đa theo định dạng (hàng, cột)