当前位置: 首页 > news >正文

p2p网站开发方法wordpress 360急速模式打不开

p2p网站开发方法,wordpress 360急速模式打不开,世界500强企业市值排名,l兰州网站建设文章目录 一、引入二、密码加密位置三、如何加密四、bcrypt 库加密4.1 介绍4.2 优点#xff1a;4.3 使用 五、小黄书密码加密实践 一、引入 Gin是一个用Go语言编写的Web框架#xff0c;而用户密码的加密通常是在应用程序中处理用户身份验证时的一个重要问题。 通常敏感信息… 文章目录 一、引入二、密码加密位置三、如何加密四、bcrypt 库加密4.1 介绍4.2 优点4.3 使用 五、小黄书密码加密实践 一、引入 Gin是一个用Go语言编写的Web框架而用户密码的加密通常是在应用程序中处理用户身份验证时的一个重要问题。 通常敏感信息你要防两类人 研发人员包括你自己和你的同事。作为研发人员你可能会接触到公司的敏感信息如用户数据、商业机密等。攻击者指那些有意获取或破坏敏感信息的人。他们可能是黑客、竞争对手、内部威胁等。 所以为了增加安全性密码通常不应以明文形式存储在数据库中而是应该经过适当的加密处理。 二、密码加密位置 实际上你选择 service、repository、dao包括 domain 都可以 service 加密加密是一个业务概念不是一个存储概念。repository 加密加密是一个存储概念毕竟我们说的是“加密存储”。dao 加密加密是一个数据库概念因为我完全可以选择利用数据库本身的加密功能来实现。domain 加密加密是一个业务概念但是应该是“用户User”自己才知道怎么加密。 三、如何加密 加密算法的选择会直接影响你整个系统的安全性因为攻击者一旦拿到了密码差不多就可以为所欲为了。 选择加密算法的标准就一个难破解。你要考虑以下问题 相同的密码加密后的结果应该不同。你可以预期很多用户习惯用 123456 这种密码但是我们希望数据库存储的值还是不一样。难以通过碰撞、彩虹表来破解。 常见的加密算法无非就是下面这些安全性逐步提高 md5 之类的哈希算法。 在 1 的基础上引入了盐值(salt或者进行多次哈希等。 PBKDF2、BCrypt 这一类随机盐值的加密算法同样的文本加密后的结果都不同。 四、bcrypt 库加密 4.1 介绍 在Go语言中可以使用bcrypt库来对密码进行安全加密号称最安全的加密算法。 4.2 优点 不需要你自己去生成盐值。 不需要额外存储盐值。 可以通过控制 cost 来控制加密性能。 同样的文本加密后的结果不同。 4.3 使用 首先你需要在Go中安装bcrypt库 go get golang.org/x/crypto/bcrypt下面是一个使用bcrypt库在对用户密码进行加密的示例 package mainimport (fmtgolang.org/x/crypto/bcrypt )func main() {// 用户注册时使用的密码password : user_password// 使用bcrypt库对密码进行哈希处理hashedPassword, err : hashPassword(password)if err ! nil {fmt.Println(Error hashing password:, err)return}fmt.Println(Original Password:, password)fmt.Println(Hashed Password:, hashedPassword)// 模拟用户登录时的密码验证err comparePasswords(hashedPassword, wrong_password)if err ! nil {fmt.Println(Password does not match:, err)} else {fmt.Println(Password matches!)}err comparePasswords(hashedPassword, user_password)if err ! nil {fmt.Println(Password does not match:, err)} else {fmt.Println(Password matches!)} }func hashPassword(password string) (string, error) {// 使用bcrypt库的GenerateFromPassword函数进行哈希处理hashedPassword, err : bcrypt.GenerateFromPassword([]byte(password), bcrypt.DefaultCost)if err ! nil {return , err}return string(hashedPassword), nil }func comparePasswords(hashedPassword, inputPassword string) error {// 使用bcrypt库的CompareHashAndPassword函数比较密码err : bcrypt.CompareHashAndPassword([]byte(hashedPassword), []byte(inputPassword))return err }加密后的结果如下 五、小黄书密码加密实践 webook/internal/service/user.go: func (svc *UserService) SignUp(ctx context.Context, u domain.User) error {// 先加密密码hash, err : bcrypt.GenerateFromPassword([]byte(u.Password), bcrypt.DefaultCost)if err ! nil {return err}u.Password string(hash)// 然后存起来return svc.repo.Create(ctx, u) }func (svc *UserService) Login(ctx context.Context, email, password string) (domain.User, error) {// 先找用户u, err : svc.repo.FindByEmail(ctx, email)if err repository.ErrUserNotFound {return domain.User{}, ErrInvalidUserOrPassword}if err ! nil {return domain.User{}, err}// 比较密码了err bcrypt.CompareHashAndPassword([]byte(u.Password), []byte(password))if err ! nil {return domain.User{}, ErrInvalidUserOrPassword}return u, nil }
http://www.w-s-a.com/news/187638/

相关文章:

  • 郫县网站建设网站建设报价单及项目收费明细表
  • 商标做网站logo建网站作业
  • 网站顶部展出的大幅广告中建八局第二建设有限公司
  • 公众微信绑定网站帐号优秀中文网页设计
  • 如何做漫画赚钱的网站企业网站管理系统c
  • 安康公司网站制作搜狗网站
  • 太仓住房与城乡建设局网站注册推广赚钱一个80元
  • wordpress 网站生成app企业网站改版的好处
  • 广州建站服务怎么让客户做网站
  • 南京手机网站设计公司wordpress导航页
  • 娄底市建设网站app网站开发小程序
  • 刷粉网站推广免费网站建设找王科杰信誉
  • 投标建设用地是哪个网站微信小程序多少钱
  • 做玄幻封面素材网站我国数字经济报告
  • 手机网站返回跳转wordpress带颜色的文字
  • 微信群领券网站怎么做创意广告图片
  • 跟我一起做网站嘉兴做网站哪家好
  • 上海知名建站公司山东住房和建设庭网站
  • 深圳市城乡建设部网站首页平台设计方案怎么做
  • 深圳美食教学网站制作wordpress列表图显示标题
  • 怎么做网址导航网站沈阳高端做网站建设
  • 棋牌网站开发需要多少钱整网站代码 带数据 免费 下载
  • 网站建设 sql 模版猎头用什么网站做单
  • 河北保定建设工程信息网站wordpress 远程缓存
  • 手机网站开发之列表开发win7网站开发教程
  • 楚雄市住房和城乡建设局网站廊坊企业网站建设
  • 东莞规划局官方网站wordpress添加文章页不显示图片
  • 做企业网站要哪些人员百度商城网站建设
  • c语言软件开和网站开发区别多产品的网站怎么做seo
  • 收益网站制作移动互联网应用的使用情况表格