Các CMND điện tử Áo dựa trên định danh ngành cái gọi là. Ví dụ, một bệnh viện sẽ xác định một người bằng cách lấy sectorId cho người đó, được tính toán như sau:
sha1(personalId + "+" + prefix + sectorId); // prefix is constant and irrelevant
Đó có phải là một ý tưởng tốt? Tôi nghĩ rằng khả năng va chạm, dù nhỏ đến đâu, đều có rủi ro.
Trong hashtables, khi có xung đột, bạn có các phương tiện khác để thiết lập sự bình đẳng, nhưng với các khóa chính, bạn không thể có hai khóa giống hệt nhau. Điều đó có thể bị phá vỡ bởi một khóa tổng hợp, nhưng sau đó điểm của một định danh khu vực duy nhất bị mất.
Có ổn không khi làm điều đó và có một cách tốt để có nó theo cách đó mà không bị phá vỡ tại một số điểm?
personalId
+ sectorID
sẽ đóng vai trò là một định danh duy nhất và vì không có gì trong đó giống như mật khẩu phải được ẩn, nên băm dường như không được sử dụng thực tế. Tôi đang thiếu gì? Hay là "personID" gì đó bí mật?