成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

用python管理自己的密碼

大數據
大數據時代,各種網站都需要你注冊賬號,使用密碼。往往大家為了省事,所有的平臺的賬號密碼是一樣的,假如某個網站數據泄露后,那你的隱私安全就有問題了,干壞事的有心人就會去竊取你的隱私信息。

[[191991]]

為什么要使用UUID?

大數據時代,各種網站都需要你注冊賬號,使用密碼。往往大家為了省事,所有的平臺的賬號密碼是一樣的,假如某個網站數據泄露后,那你的隱私安全就有問題了,干壞事的有心人就會去竊取你的隱私信息。

市面上也有很多密碼管理器,但是那是別人的密碼管理器。生成規則是人家的,密碼安全問題不能假手他人。

為了安全,還是自己制定規則,管理自己的密碼。

準備工作

大鄧用的是python3.6,提前安裝好了uuid庫。

我們先簡單了解下uuid工作原理,后面會有一個大鄧管理自己賬號密碼的代碼(演示用,賬號是真的,但是密碼肯定不是大鄧的)

uuid庫

UUID Documents

UUID是128位的全局唯一標識符,通常由32字節的字符串表示。

它可以保證時間和空間的唯一性,也稱為GUID,全稱為:

UUID —— Universally Unique IDentifier Python 中叫 UUID

它通過MAC地址、時間戳、命名空間、隨機數、偽隨機數來保證生成ID的唯一性。

UUID主要有五個算法,也就是五種方法來實現:

uuid1()—基于時間戳

由MAC地址、當前時間戳(當前時間)、隨機數生成。可以保證全球范圍內的唯一性

  1. import uuid 
  2. for i in range(10): 
  3.     print(uuid.uuid1())  
  1. ddca8718-2f9f-11e7-a819-7c04d0d818f6 
  2.  
  3. ddca9e1a-2f9f-11e7-af4b-7c04d0d818f6 
  4.  
  5. ddcac162-2f9f-11e7-86c7-7c04d0d818f6 
  6.  
  7. ddcac638-2f9f-11e7-acfc-7c04d0d818f6 
  8.  
  9. ddcaccb4-2f9f-11e7-b86e-7c04d0d818f6 
  10.  
  11. ddcadfd8-2f9f-11e7-a3aa-7c04d0d818f6 
  12.  
  13. ddcae528-2f9f-11e7-83db-7c04d0d818f6 
  14.  
  15. ddcae92e-2f9f-11e7-adee-7c04d0d818f6 
  16.  
  17. ddcaede8-2f9f-11e7-bb6b-7c04d0d818f6 
  18.  
  19. ddcaf374-2f9f-11e7-9dbd-7c04d0d818f6  

uuid3()—基于名字的MD5散列值

通過計算名字和命名空間的MD5散列值得到,保證了同一命名空間中不同名字的唯一性,

和不同命名空間的唯一性,但同一命名空間的同一名字生成相同的uuid。

命名空間參數為uuid.NAMESPACEOID、uuid.NAMESPACEDNS、uuid.NAMESPACEURL、uuid.NAMESPACEX500

  1. names = ['Ruby','Python','Java','C','GO','Scala'
  2. for name in names: 
  3.     print(name,uuid.uuid3(uuid.NAMESPACE_OID, name))  
  1. Ruby aab9b591-c3ec-3f66-b4cb-203a5f6eaaf3 
  2.  
  3. Python fa01b787-98ed-334f-b44b-a14ca4b10aed 
  4.  
  5. Java b055e743-a030-3094-99df-ae4b98964a50 
  6.  
  7. C 3ee5528d-3dbb-33cb-b910-f8215831ca48 
  8.  
  9. GO c3724662-749e-35b8-9277-89d4a51c27a0 
  10.  
  11. Scala da8c34df-2de1-3033-97e2-16a324547aea  

uuid4()—基于隨機數

由偽隨機數得到,有一定的重復概率,該概率可以計算出來。 

  1. uuid.uuid4()  
  1. UUID('c5807b94-b3fa-49b0-9833-42e10d7a1c9e' 
  1. uuid.uuid4()  
  1. UUID('16c62a93-37c7-41db-92c6-02cdd15c921d' 
  1. for i in range(5): 
  2.  
  3. print(uuid.uuid4())  
  1. de3e5a6c-2dd3-47dd-bace-13f6e78c1b9e 
  2.  
  3. b94e3965-a3e1-41d9-b994-b8c41fd2e5ca 
  4.  
  5. 86f9d597-cd7e-446c-ad7e-ae20d2df33b9 
  6.  
  7. 70b9a3ff-93bb-4fce-9908-4ad38869084c 
  8.  
  9. 1d76ab15-0def-476e-a50f-760e550d6baa  

uuid5()—基于名字的SHA-1散列值

算法與uuid3相同,不同的是使用 Secure Hash Algorithm 1 算法

命名空間參數為uuid.NAMESPACEOID、uuid.NAMESPACEDNS、uuid.NAMESPACEURL、uuid.NAMESPACEX500 

  1. urls = ['www.baidu.com'
  2.         'www.baidu.com'
  3.        'www.baidu.com.cn'
  4.        'www.sina.com'
  5. for url in urls: 
  6.     print(uuid.uuid5(uuid.NAMESPACE_URL,url))  
  1. 8f2b1f65-47f4-5f18-91bc-322ea163bbb0 
  2.  
  3. 8f2b1f65-47f4-5f18-91bc-322ea163bbb0 
  4.  
  5. 04b04aa6-c18a-54d8-b6e7-4087984162ce 
  6.  
  7. 3db2a294-d09f-558c-b0f2-976f4acb97a6  

如何管理我們的賬號密碼

寫一個腳本,放在自己電腦上,每個月定期更新密碼。

密碼的生成規則你可以自己設計,這里我就用基于賬號名生成

  1. accounts = ['微博:鄧旭東HIT','微信:鄧旭東','知乎:鄧旭東HIT'
  2. def gen_pwd(accounts): 
  3.     for account in accounts: 
  4.         pwd=uuid.uuid5(uuid.NAMESPACE_OID, account) 
  5.         print(account,'密碼:%s'%pwd) 
  6. gen_pwd(accounts)  
  1. 微博:鄧旭東HIT 密碼:c8155d00-205b-5cba-9d25-9947bd54df70 
  2.  
  3. 微信:鄧旭東 密碼:67397b79-1245-5a08-9962-18757e52eb17 
  4.  
  5. 知乎:鄧旭東HIT 密碼:4fc67722-5e5c-5df2-9a8b-694cf2af1bed  

密碼太長,再簡單點

我們可以隨機抽取10位字符,這里大鄧簡單點,直接截取[5:15]中的密碼 

  1. accounts = ['微博:鄧旭東HIT','微信:鄧旭東','知乎:鄧旭東HIT'
  2. def gen_pwd(accounts): 
  3.     for account in accounts: 
  4.         pwd=uuid.uuid5(uuid.NAMESPACE_OID, account) 
  5.         pwd = str(pwd)[5:25] 
  6.         print(account,'密碼:%s'%pwd) 
  7. gen_pwd(accounts)  
  1. 微博:鄧旭東HIT 密碼:d00-205b-5cba-9d25-9 
  2.  
  3. 微信:鄧旭東 密碼:b79-1245-5a08-9962-1 
  4.  
  5. 知乎:鄧旭東HIT 密碼:722-5e5c-5df2-9a8b-6  

去掉-,再看看密碼啥樣子

有“-”看著別扭,去掉 

  1. accounts = ['微博:鄧旭東HIT','微信:鄧旭東','知乎:鄧旭東HIT'
  2. def gen_pwd(accounts): 
  3.     for account in accounts: 
  4.         pwd=uuid.uuid5(uuid.NAMESPACE_OID, account) 
  5.         pwd = str(pwd)[5:25].replace('-',''
  6.         print(account,'密碼:%s'%pwd) 
  7. gen_pwd(accounts)  
  1. 微博:鄧旭東HIT 密碼:d00205b5cba9d259 
  2.  
  3. 微信:鄧旭東 密碼:b7912455a0899621 
  4.  
  5. 知乎:鄧旭東HIT 密碼:7225e5c5df29a8b6  

注意:

要記得把代碼放置在安全位置,

避免因為規則泄露導致自己賬號面臨被盜風險

而且也要定期修改密碼規則 

責任編輯:龐桂玉 來源: 36大數據
相關推薦

2021-02-05 15:50:27

PythonShell命令

2021-04-25 08:58:00

Go拍照云盤

2018-03-22 11:00:45

PythonRSS

2021-05-26 10:21:31

Python音樂軟件包

2011-03-29 09:40:51

2019-06-14 15:10:54

密碼管理存儲密碼攻擊

2018-03-05 10:18:44

Linux密碼密碼管理器

2010-03-22 16:57:18

密碼文件數據庫密碼安全

2016-11-15 18:57:15

2021-08-04 11:55:45

Python天氣查詢PySide2

2021-04-08 09:35:10

瀏覽器 Chrome Google

2013-08-28 10:29:33

2019-06-03 09:11:59

2020-06-11 08:26:05

信息泄漏密碼網絡安全

2013-08-30 10:49:26

2014-06-09 15:50:08

2022-02-25 07:38:35

Linux

2011-04-18 10:22:50

2024-03-06 16:36:42

2011-09-07 09:43:04

ASP.NET服務框架
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 一区二区三区视频在线观看 | 亚洲国产欧美一区二区三区久久 | 亚洲精品福利在线 | 国产亚洲欧美在线视频 | 久久久久亚洲精品 | 久久久精 | 黄色av一区 | 美国一级片在线观看 | 久久精品在线免费视频 | 一区二区视频在线 | 久久伊 | 免费观看色 | 欧美久久综合 | 午夜影院在线观看版 | 欧美激情在线观看一区二区三区 | 在线国产一区 | 狠狠插天天干 | 特级毛片 | 亚洲欧美中文日韩在线v日本 | 亚洲成人在线免费 | 久久国产精品视频 | 欧美男人天堂 | 久久精品成人 | 亚洲国产成人av好男人在线观看 | 午夜资源| 深夜福利影院 | 欧美福利在线 | 亚洲精品免费视频 | 日本一区二区三区免费观看 | 久久精品国内 | 精品成人av | 久久成人人人人精品欧 | 日韩视频免费看 | 国产福利在线播放麻豆 | 毛片一区二区 | 精品国产乱码一区二区三区a | 欧美一级久久精品 | 免费av观看| 国产91在线播放 | 天天天久久久 | 亚洲 中文 欧美 日韩 在线观看 |