很簡單的幾個小小細節。
今天在做乙個修改密碼的功能,粗想的邏輯很簡單:
1、客戶端輸入舊密碼,新密碼,確認密碼,規則是: 新密碼不得與舊密碼相同,確認密碼與新密碼必須相同,新密碼須符合一些密碼規則類似於包含數字英文標點啥的。
2、傳送密碼前,對上述密碼進行加密,這裡採用非對稱加密rsa進行加密,客戶端用公鑰加密(同密碼每次加密後密文不同),後台用私鑰解密,再呼叫別的加密方式進行加密。
這樣基本就構成了,即使密碼被劫獲,也無法對登入等授權方式進行重放攻擊。
但是還有乙個原則,密碼從客戶端進行請求到正式入庫的過程中,密碼明文不得落地。上述過程雖能防範密碼被他人劫獲後破解,然在後台轉加密中,要先對密碼進行解密,得到明文,問題就在這裡。日防夜防,家賊難防,即使是開發這套系統亦或者是維護系統的人,也不可以知道密碼明文是什麼。這裡獲取方式有兩種,一種是在後台**植入獲取密碼明文的**,二是直接在記憶體中獲取反解密後的明文。
最後想了下,對密碼先進行一道md5加密。
具體就變成了 先對密碼明文md5加密 --> 再用rsa非對稱加密 --> 傳送至後台(可能有https對整個報文加密,這裡先且不論)-->後台接受到密文密碼後,進行rsa解密得到密碼(此密碼為md5密文)--> 再利用hash方式進行加密 --> 進入資料庫。
大致過程如此。算是完成了乙個比較基礎簡單的但又相對安全的密碼加解密過程。
以上其實純屬瞎扯,歡迎討論zzzzzzz....
windows裡的命令合集(一)
1.dir的使用 a 顯示具有指定屬性的檔案。屬性 d 目錄 r 唯讀檔案 h 隱藏檔案 a 準備存檔的檔案 s 系統檔案 i 無內容索引檔案 l 重新分析點 o 離線檔案 表示 否 的字首 b 使用空格式 沒有標題資訊或摘要 c 在檔案大小中顯示千位數分隔符。這是預設值。用 c 來 禁用分隔符顯示...
1139公里的探尋(一)
1139公里的探尋 一 下文所提及的感受主要來自於內觀這個方法的公平實踐,主要用於個人經歷感悟,以及幫助對內觀有興趣的朋友提供一些資訊。本人會秉承客觀事實盡量詳細的記錄,因為是十日短期修行的新生,對於其中的體驗難免存在認識上的偏差和理解的不足,並且感受因人而異,對有意願成行的朋友,請謹遵葛印卡老師內...
又一天的業務啊
上週的時候組長就說下週的時候你就不能一門心思地學習業務了,我要給你布置一些小的任務了,你要利用業餘的時間學習業務。聽到這句話,我一陣興奮湧上心頭,終於可以不用看這個該死的業務文件了,我知道業務知識很重要,可是學習的方式應該是在實踐中一點一點的掌握,這才是我認為該使用的方法。經過了接近乙個半月的業務學...