Elite Member
|
hash是一種單向函數, 多半的應用是將任意長度的資料, 經過演算出固定長度的字串數值
來做為該原文的精簡代號, 我認為廠商的授權碼不會直接使用hash的演算法作為編碼方式.
原因之一是hash演算法不管輸出數值長短, 都必定有遇到collision的機會, 也就是兩個
不同的原文, 演算出相同hash值. 而使hash值不具有唯一性. 若一個廠商的產品授權碼
是有可能重複的, 那真的很瞎(即使不容易遇到collision). 一般而言, 授權碼會具有唯一性
頂多是他的樣本空間用盡的時候, 會換演算法或採用更長的位元數. 但重複就會無法管理.
通常各廠商授權碼的產出, 會有他們自己開發的編碼方式去建立, 並加入檢核, 追蹤, 分辨 等
功能. 例如 標準版的序號上不了專業版. 舊產品序號不適用新版產品...等.
|