代码拉取完成,页面将自动刷新
package main
import (
"fmt"
"github.com/sirupsen/logrus"
"golang.org/x/crypto/bcrypt"
"regexp"
"strconv"
"strings"
)
// BcryptHash 使用 bcrypt 对密码进行加密
func BcryptHash(password string) string {
// GenerateFromPassword 的第二个参数是 cost 值。建议大于 12,数值越大耗费时间越长
bytes, err := bcrypt.GenerateFromPassword([]byte(password), 14)
logrus.Error(err)
return string(bytes)
}
// BcryptCheck 对比明文密码和数据库的哈希值
func BcryptCheck(password, hash string) bool {
err := bcrypt.CompareHashAndPassword([]byte(hash), []byte(password))
return err == nil
}
// BcryptIsHashed 判断字符串是否是哈希过的数据
func BcryptIsHashed(str string) bool {
// bcrypt 加密后的长度等于 60
return len(str) == 60
}
func RepImages(htmls string) {
var imgRE = regexp.MustCompile(`<img[^>]+\bsrc=["']([^"']+)["']`)
imgs := imgRE.FindAllStringSubmatch(htmls, -1)
out := make([]string, len(imgs))
myImage := "https://static.juzizhou.net/1111111111111111.jpg"
resHtml := htmls
for i := range out {
if strings.HasPrefix(imgs[i][1], "https://static.juzizhou.net") {
resHtml = strings.Replace(resHtml, imgs[i][1], myImage, -1)
out[i] = imgs[i][1]
fmt.Println(strconv.Itoa(i), out[i])
}
}
fmt.Println(resHtml)
}
func main() {
a := BcryptHash("admin123$")
fmt.Print(a)
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。