package main
import (
「fmt」
「golang.org/x/crypto/bcrypt」
)type user struct
func main()
u0.password = 「pwd」 //模擬註冊是傳遞的密碼
hash, err := bcrypt.generatefrompassword(byte(u0.password), bcrypt.defaultcost) //加密處理
if err != nil
encodepwd := string(hash) // 儲存在資料庫的密碼,雖然每次生成都不同,只需儲存乙份即可
fmt.println(encodepwd)
fmt.println("====模擬登入====")
u1:=user{}
u1.password=encodepwd //模擬從資料庫中讀取到的 經過bcrypt.generatefrompassword處理的密碼值
loginpwd:="pwd" //使用者登入時輸入的密碼
// 密碼驗證
err = bcrypt.comparehashandpassword(byte(u1.password), byte(loginpwd)) //驗證(對比)
if err != nil else
摩斯密碼加解密
摩斯密碼又叫莫爾斯電碼,摩斯電碼 著名的sos救難訊號用莫爾斯電碼表示為 滴滴滴嗒嗒嗒滴滴滴 莫斯編碼是一種變長編碼,哈夫曼編碼也是一種變長編碼。莫斯編碼不是哈夫曼編碼,如果字元之間沒有空白,會產生二義性,而哈夫曼編碼不會產生二義性 莫斯編碼不是哈夫曼編碼,字元之間沒有3t,而直接混在一起可能會產生...
培根密碼加解密(Python)
加密時,明文中的每個字母會根據下面轉換成5個字母 解密時,密文中的每5個字母為一組轉換成對應的1個字母 輸入e或d,選擇加密或解密 if choose e str input input your string n t lower liststr for i in str if i in code ...
凱撒(caesar)密碼加解密方法
凱撒加密 caesarcipher 是一種簡單的訊息編碼方式 它根據字母表將訊息中的每個字母移動常量位k。舉個例子如果k等於3,則在編碼後的訊息中,每個字母都會向前移動3位 a會被替換為d b會被替換成e 依此類推。字母表末尾將回卷到字母表開頭。於是,w會被替換為z,x會被替換為a 如果是將移動的位...