The Austria KTP elektronik bergantung pada pengidentifikasi sektor disebut. Misalnya rumah sakit dapat mengidentifikasi seseorang dengan mendapatkan sectorId untuk orang tersebut, yang dihitung secara kasar sebagai berikut:
sha1(personalId + "+" + prefix + sectorId); // prefix is constant and irrelevant
Apakah itu ide yang bagus? Saya pikir kemungkinan tabrakan, sekecil apa pun, menimbulkan risiko.
Dalam hashtables, ketika ada tabrakan, Anda memiliki cara lain untuk membangun kesetaraan, tetapi dengan kunci utama Anda tidak mungkin memiliki dua yang identik. Itu bisa dielakkan dengan kunci komposit, tetapi kemudian titik pengidentifikasi sektor unik hilang.
Apakah boleh melakukan itu dan apakah ada cara yang baik untuk melakukannya tanpa melanggar pada titik tertentu?
personalId
+ sectorID
akan berfungsi sebagai pengidentifikasi unik, dan karena di sana tidak ada kata sandi yang harus disembunyikan, hashing sepertinya tidak ada gunanya. Apa yang saya lewatkan? Atau "personID" itu sesuatu yang rahasia?