簡體   English   中英

使用MD5哈希比較數據庫記錄

[英]Using MD5 Hash to compare database records

與健康相關的記錄(我相信其他類型的數據庫記錄)中的一個常見問題是,單個患者可能會出現在主索引中多個單獨記錄下。 這可能導致患者具有多個ID。 在我看來,一種解決方法是建立固定信息的MD5哈希,然后比較哈希。 例如,我們可以假設名字,姓氏,出生日期和地址是一致的。 可以將它們串聯在單個String中,刪除空格並全部用小寫字母表示。 然后可以通過MD5算法解析該字符串。 雖然這不是故障保護(地址可能會更改),但可能會有所幫助。 我真的希望對此有一些反饋,或者是對替代方法的建議?

如果從輸入字符串中刪除“ 地址”內容,我將建議使用此方法。 地址可能會更改,有時人們會懶惰地拼寫錯誤的地址。 我建議添加除地址以外的其他元素,不要僅保留名字,姓氏和DOB,因為盡管可能性不高,但可能會發生沖突。 一個簡單的實現:

   String first_name = "Abdul";
   String last_name = "Ansari";
   String DOB = "29/09/1994";
   String fourth_element = ""; //Add something
   String data = first_name + last_name + DOB + fourth_element;
   data = data.replaceAll(" ","");
   data = data.toLowerCase();
   MessageDigest md = MessageDigest.getInstance("MD5");
   md.update(data.getBytes());
   byte[] digest = md.digest();
   // Then convert the bytes to hex and add them in database

我看不到使用MD5的意義。 您創建的字符串可用於比較相等性。

或者,您可以具有多個匹配級別。 例如,如果匹配的名字,姓氏,生日和地址,則匹配完美,然后翻譯為同一個人。 另一方面,姓氏,姓氏,生日而不是地址,然后將由人工審核,以確定是否匹配...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM