為什么不直接告訴你原密碼?
因為即使軟件的程序開發者和管理員都不知道原密碼是多少。注:指成熟的,正規的軟件系統。
密碼一般是存放到服務器的https://www.b5b6.com/shujuku/里,是經過不可逆加密的,通常用MD5或SHA-1。舉個不太恰當的例子,不可逆算法是,第一個數乘以3,第二個數乘以2,第三個數乘以1,再把三個數相乘,最后就和。假如我用密碼235,加密后得到:2*3+3*2+5*1+2*3*5=47。由235可以簡單得到47,但是反過來,用47卻很難反算出235。當然,我這只是方便理解編的例子,真正MD5等算法遠遠比這復雜。
當你輸入密碼235或其他數字時,軟件會用公式計算,看看是不是https://www.b5b6.com/shujuku/中的47,如果是,則密碼正確,登錄成功。但是管理員通過查看https://www.b5b6.com/shujuku/的47,是不知道原密碼的。
為什么要弄這么復雜呢?因為擔心系統管理員搞“小動作”。如果管理員知道了密碼,他就可以通過客戶端(含瀏覽器、APP)正常登錄,但是卻很難追溯。萬一某個賬號的金額被動了,不知道是真正主人干的,還是管理員干的。很難查。
你一定會說,管理員可以通過https://www.b5b6.com/shujuku/直接查看任何數據,修改任何數據呀。是的,但是,管理員一旦這么做,很可能會留下系統日志,因為他啟用了“特權”??梢岳斫鉃椋芾韱T擁有“萬能鑰匙”,但是這把鑰匙管理很嚴,要審核,要記錄。比方說,某個系統只有一個管理員擁有“萬能鑰匙”,那么出了問題,就找他。但是,如果普通鑰匙,即普通用戶密碼被管理員知道了,這時候就有兩個人擁有這把鑰匙,出了問題,就不知道是誰動的。比如查到某個賬戶的密碼在一個網吧登錄了,你是無法確定這個登錄者是主人還是管理員。
假如你去銀行辦忘記密碼業務,業務員會給你重置密碼,但是卻不能查詢密碼。現在我們分析一下,查詢密碼和重置密碼的區別。既然業務員可以重置密碼,那他是不是可以通過重置密碼,偷偷轉我的帳呢?很簡單,如果密碼被重置了,我密碼輸入不正確,肯定知道銀行干“壞事”了,要投訴的。所以,業務員,肯定不敢未經允許私自重置別人的密碼,然后登錄上去轉錢。但是,如果業務員能查詢密碼,那就危險了,他偷偷登錄你的賬號,你會毫不知情。業務員可以使用“特權”賬號,查詢你的信息比如余額。是的,之前說過了,特權要嚴格記錄,而且它依然是受限的,比如可能只能查詢,只能凍結,但不能轉賬。就算可以,那估計要到行長審批的更加高級的“特權”賬號,才能動你的錢。
但是不管怎么說,即使是行長,也不知道你的銀行密碼。
除了上面提到的問題,還擔心https://www.b5b6.com/shujuku/被泄露,可能是內部人員,可能是黑客。一旦泄露,那么成千上萬的密碼就都被人知道了。如果使用剛說的不可逆加密,就會好很多。即使泄露了,也不知道原密碼。
最后還有一點,不管怎么強調密碼安全性,現實中,絕大多數人都喜歡使用相同的密碼。那么一旦軟件中記載的是明文密碼,那么管理員、黑客等人物,就可以推算出這個人的其他賬號,比如銀行、郵箱、筆記、購物網,等等等等。因為密碼往往是一樣的?,F在流行實名注冊,又綁定一些郵箱、手機、圍脖、薇信等等。所以一個密碼泄露了,其他的關聯賬號就很難幸免。