Hash函數(shù)

摘要算法又稱為哈希算法,散列算法讼育。它通過一個(gè)函數(shù)叠艳,把任意長(zhǎng)度的數(shù)據(jù)轉(zhuǎn)換為一個(gè)長(zhǎng)度固定的數(shù)據(jù)串(通常用16進(jìn)制的字符串表示)用于加密相關(guān)的操作。
圖解MD5: https://mp.weixin.qq.com/s/n7OnxPwslilW8nSBjQ719A

1.Python3實(shí)現(xiàn)MD5
import hashlib
def get_md5(str1):
    m = hashlib.md5()
    m.update(str1.encode('utf-8'))
    return m.hexdigest()
if __name__ == '__main__':
    print(get_md5('password'))

hashlib提供主要提供SHA1抱完,SHA224贼陶,SHA256刃泡,SHA384,SHA512,MD5算法
以上加密算法雖然很厲害碉怔,但仍然存在缺陷烘贴,通過撞庫可以反解。所以必要對(duì)加密算法中添加自定義key再來做加密.其實(shí)加鹽是為了應(yīng)對(duì)這么一種情況:如果兩個(gè)人或多個(gè)人的密碼相同撮胧,那么通過相同的加密算法得到的是相同的結(jié)果桨踪。這樣會(huì)造成哪些后果呢?首先芹啥,破解一個(gè)就有可能是相當(dāng)于破一片密碼锻离。而且加入小明這個(gè)用戶可以查看后臺(tái)數(shù)據(jù)庫,那么如果他觀察到小紅這個(gè)用戶的密碼跟自己的密碼是一樣的(雖然都是密文)墓怀,那么汽纠,也就代表他們兩個(gè)人的密碼是相同的。所以他就可以用小紅的身份進(jìn)行登錄了傀履。
其實(shí)虱朵,我們只要稍微混淆一下就能防范住了,這在加密術(shù)語中稱為“加鹽”钓账。具體來說就是在原有材料(用戶自定義密碼)中加入其他成分(一般是用戶自有且不變的因素)碴犬,以此來增加系統(tǒng)復(fù)雜度。當(dāng)這種鹽和用戶密碼結(jié)合后梆暮,再通過摘要處理服协,就能得到隱蔽性更強(qiáng)的摘要值。

import hashlib
hash = hashlib.md5('python'.encode('utf-8'))
hash.update('password'.encode('utf-8'))
print(hash.hexdigest())
2.SHA1
import hashlib
def get_sha1(str1):
    m = hashlib.sha1()
    m.update(str1.encode('utf-8'))
    return m.hexdigest()
if __name__ == '__main__':
    print(get_sha1('password'))
3.獲取文件md5值
import hashlib
import os
def md5sum(filename):
        """
        用于獲取文件的md5值
        :param filename: 文件名
        :return: MD5碼
        """
        if not os.path.isfile(filename):  # 如果校驗(yàn)md5的文件不是文件啦粹,返回空
            return
        myhash = hashlib.md5()
        f = open(filename, 'rb')
        while True:
            b = f.read(8096)
            if not b:
                break
            myhash.update(b)   
        f.close()
        return myhash.hexdigest()

print(md5sum('filepath'))
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末偿荷,一起剝皮案震驚了整個(gè)濱河市治专,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌遭顶,老刑警劉巖张峰,帶你破解...
    沈念sama閱讀 217,406評(píng)論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異棒旗,居然都是意外死亡喘批,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,732評(píng)論 3 393
  • 文/潘曉璐 我一進(jìn)店門铣揉,熙熙樓的掌柜王于貴愁眉苦臉地迎上來饶深,“玉大人,你說我怎么就攤上這事逛拱〉欣澹” “怎么了?”我有些...
    開封第一講書人閱讀 163,711評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵朽合,是天一觀的道長(zhǎng)俱两。 經(jīng)常有香客問我,道長(zhǎng)曹步,這世上最難降的妖魔是什么宪彩? 我笑而不...
    開封第一講書人閱讀 58,380評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮讲婚,結(jié)果婚禮上尿孔,老公的妹妹穿的比我還像新娘。我一直安慰自己筹麸,他們只是感情好活合,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,432評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著物赶,像睡著了一般白指。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上块差,一...
    開封第一講書人閱讀 51,301評(píng)論 1 301
  • 那天侵续,我揣著相機(jī)與錄音,去河邊找鬼憨闰。 笑死状蜗,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的鹉动。 我是一名探鬼主播轧坎,決...
    沈念sama閱讀 40,145評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼泽示!你這毒婦竟也來了缸血?” 一聲冷哼從身側(cè)響起蜜氨,我...
    開封第一講書人閱讀 39,008評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎捎泻,沒想到半個(gè)月后飒炎,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,443評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡笆豁,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,649評(píng)論 3 334
  • 正文 我和宋清朗相戀三年郎汪,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片闯狱。...
    茶點(diǎn)故事閱讀 39,795評(píng)論 1 347
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡煞赢,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出哄孤,到底是詐尸還是另有隱情照筑,我是刑警寧澤,帶...
    沈念sama閱讀 35,501評(píng)論 5 345
  • 正文 年R本政府宣布瘦陈,位于F島的核電站凝危,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏双饥。R本人自食惡果不足惜媒抠,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,119評(píng)論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望咏花。 院中可真熱鬧,春花似錦阀趴、人聲如沸昏翰。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,731評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽棚菊。三九已至,卻和暖如春叔汁,著一層夾襖步出監(jiān)牢的瞬間统求,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,865評(píng)論 1 269
  • 我被黑心中介騙來泰國打工据块, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留码邻,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,899評(píng)論 2 370
  • 正文 我出身青樓另假,卻偏偏與公主長(zhǎng)得像像屋,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子边篮,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,724評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容

  • 轉(zhuǎn)載:http://blog.csdn.net/tanggao1314/article/details/51457...
    SinX竟然被占用了閱讀 1,680評(píng)論 0 0
  • 本文主要介紹移動(dòng)端的加解密算法的分類阵子、其優(yōu)缺點(diǎn)特性及應(yīng)用,幫助讀者由淺入深地了解和選擇加解密算法胜蛉。文中會(huì)包含算法的...
    蘋果粉閱讀 11,503評(píng)論 5 29
  • 這篇文章主要講述在Mobile BI(移動(dòng)商務(wù)智能)開發(fā)過程中款筑,在網(wǎng)絡(luò)通信、數(shù)據(jù)存儲(chǔ)腾么、登錄驗(yàn)證這幾個(gè)方面涉及的加密...
    雨_樹閱讀 2,423評(píng)論 0 6
  • 學(xué)養(yǎng)深厚的人大多長(zhǎng)壽奈梳,如科學(xué)家、書法家解虱、畫家攘须、醫(yī)生、老師等殴泰,平均壽命比較高于宙。尤其堪稱大師的,首先是長(zhǎng)壽之人悍汛,比如季...
    好醫(yī)道閱讀 221評(píng)論 0 0
  • 如果我是你 我不會(huì)留戀過去 三年前夕 春暖花開的回憶 待秋風(fēng)一起 落葉劃出了別離 如果我是你 我不會(huì)在夜里哭泣 明...
    江南少城主閱讀 270評(píng)論 1 2