什么是哈希算法
所謂哈希算法就是將任意長度的二進制值串映射為固定長度的二進制值串,映射出的值就是哈希值。
特點:
1速那、不能從密文逆推出明文(單向的)
2俐银、對輸入的數(shù)據(jù)很敏感,改一個bit都會有很大的變化端仰。
3捶惜、哈希沖突概率要很小
4、執(zhí)行效率要高
哈希算法的應用
1荔烧、唯一標識
比方說在海量的圖庫中找圖片吱七,搜索圖片時,不能通過名稱去找鹤竭,因為同一個名稱的圖可能會有幾張內(nèi)容不同的圖片踊餐。最笨的方法就是將圖片的二進制串碼進行比對。解決途徑:將圖片的二進制串碼的部分截取臀稚,拼湊起來然后計算哈希值吝岭,作為唯一標識,用于判斷圖片是否在庫中吧寺。
2窜管、安全加密
md5、sha等等撮执。
3微峰、數(shù)據(jù)校驗
迅雷下載時把文件分塊傳輸,不知道傳輸過程是否被別人給改了抒钱,可以給每塊數(shù)據(jù)計算一下哈希值蜓肆,傳完之后就做一下比對。
4谋币、散列函數(shù)
散列函數(shù)追求的數(shù)據(jù)分的均不均勻還有效率仗扬,對可不可逆不是很關心。
5蕾额、負載均衡
6早芭、數(shù)據(jù)分片
7、分布式存儲