📢 Loạt tính năng mới: Kết nối tài khoản Diễn Đàn với toàn bộ Thư Viện (Truyện/Thơ/Nhạc/Phim/Ẩm Thực)
Xin chào cả nhà!


Ban quản trị vừa hoàn tất một loạt tính năng mới, kết nối tài khoản Diễn Đàn với toàn bộ các khu vực Truyện, Thơ, Nhạc, Phim và Ẩm Thực. Xin tổng kết lại để mọi người tiện theo dõi và sử dụng:

1. Đăng nhập dùng chung toàn site
Chỉ cần 1 tài khoản Diễn Đàn, đăng nhập một lần là dùng được ở mọi khu vực. Nút "Đăng nhập / Đăng ký" đã thay cho "Giới thiệu / Trợ giúp" cũ ở đầu mỗi trang.

2. Thảo luận ngay dưới tác phẩm
Mỗi truyện, bài thơ, bài hát, phim, món ăn giờ có khung bình luận riêng ngay trên trang đọc/nghe/xem - không cần qua diễn đàn mới góp ý được. Bình luận đầu tiên sẽ tự tạo 1 chủ đề trong mục "💬 Thảo Luận Tác Phẩm Thư Viện" để mọi người cùng trao đổi.

3. Theo dõi tác phẩm
Bấm "🔔 Theo dõi tác phẩm" để nhận thông báo qua email ngay khi truyện có chương mới.

4. Yêu thích & Lịch sử đọc
Đánh dấu "⭐ Yêu thích" các tác phẩm ưng ý, và hệ thống tự ghi lại "🕘 Lịch sử đọc" mỗi khi bạn ghé đọc/nghe/xem - đồng bộ theo tài khoản, xem lại bất cứ lúc nào trong menu thành viên.

5. Huy hiệu hoạt động
Một vài huy hiệu nhỏ (bình luận viên, người theo dõi, người sưu tầm, thành viên kỳ cựu...) sẽ tự xuất hiện trên hồ sơ khi bạn hoạt động tích cực - hoàn toàn không phải hệ thống điểm/tiền thưởng, chỉ mang tính ghi nhận cho vui.

6. Ghi công người đóng góp
Tên người đăng nội dung (đánh máy, sưu tầm...) giờ sẽ tự động liên kết về hồ sơ Diễn Đàn nếu trùng với một tài khoản đang có trên diễn đàn.

7. Báo lỗi nội dung
Phát hiện lỗi chính tả, thiếu nội dung, ảnh hỏng... trong lúc đọc? Bấm "🚩 Báo lỗi nội dung" ngay trên trang, không cần rời khỏi tác phẩm đang xem.

8. Cải thiện giao diện trên điện thoại
Đầu trang và khu vực diễn đàn đã được chỉnh lại cho gọn gàng hơn trên màn hình nhỏ.

Rất mong nhận được góp ý thêm từ cả nhà để hoàn thiện dần. Cảm ơn mọi người đã luôn đồng hành cùng Việt Nam Thư Quán!

Diễn Đàn » Hướng Dẫn Lập trình

Tạo số ngẫu nhiên bảo mật trong VB.Net

0 trả lời, 808 lượt xem — Trang 1 / 1
Tạo số ngẫu nhiên bảo mật
Bạn muốn tạo một số ngẫu nhiên sao cho người dùng ác ý không thể đoán trước được.
Sử dụng lớp RNGCryptoServiceProvider trong không gian tên System.Security.Cryptography thay cho lớp System.Random.
Máy tính được thiết kế là tất định (deterministic). Kết quả là, chúng thường không phải là điểm nguồn tốt cho các số ngẫu nhiên. Các số mà bạn tạo với lớp System.Random là ngẫu nhiên về mặt thống kê, nghĩa là chúng đi theo một sự phân bố ngẫu nhiên và phù hợp cho mô hình, giả lập, game… Tuy nhiên, chúng không phù hợp cho mục đích bảo mật. Với hiểu biết về giải thuật, một người dùng ác ý có thể xem các số ngẫu nhiên mà bạn đã tạo, xác định cách tính các giá trị này (thông thường được rút từ giờ hệ thống), và rồi có khả năng đoán trước các giá trị “ngẫu nhiên” trong tương lai. Thực tế, các số giả ngẫu nhiên đã là cơ sở cho các cuộc tấn công, chẳng hạn cuộc tấn công lợi dụng bộ sinh số ngẫu nhiên phụ-thuộc-thời-gian trong một phiên bản cũ của Netscape Navigator, đã làm hại khóa dùng cho các kết nối SSL (xem chi tiết tại [http://www.cs.berkeley.edu/~daw/papers/ddj-netscape.html]).
Giải pháp là sử dụng số ngẫu nhiên bảo mật mạnh. Những số này được sinh từ nhiều giá trị, bao gồm các dữ liệu hệ thống và người dùng như: ID của tiến trình và ID của tiểu trình, thời gian hệ thống, bộ đếm hệ thống, số lượng cluster còn trống trên đĩa, v.v... Các giá trị này được sử dụng cùng với một giải thuật mật mã để tạo một dòng dữ liệu ngẫu nhiên không thể nào đoán trước được.
Ứng dụng dưới đây sử dụng kỹ thuật này để tạo một dãy các số ngẫu nhiên:
Public Module RandomGenerator    Public Sub Main()        Dim RandomByte(0) As Byte        Dim Random As New RNGCryptoServiceProvider()        Dim Input As String        Do            ' Đổ dữ liệu ngẫu nhiên vào mảng byte. Trong trường            ' hợp này, mảng byte chỉ lưu trữ một byte.            Random.GetBytes(RandomByte)            ' Hiển thị giá trị byte ngẫu nhiên.            Console.WriteLine(RandomByte(0).ToString())            ' Chuyển byte ngẫu nhiên thành số thập phân từ 1 đến 10.            Console.WriteLine(Int(RandomByte(0) / 256 * 10) + 1)            Console.WriteLine("Type 'exit' to stop " & _              "or press Enter to continue.")            Input = Console.ReadLine()        Loop While Input <> "exit"    End SubEnd Module

 
 
Trích từ “Các giải pháp lập trình Visual Basic.Net (tập 2)”
 
Đăng nhập để trả lời
0