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

大型网站建设 cms cdm dmp护肤品营销策划方案

大型网站建设 cms cdm dmp,护肤品营销策划方案,山东省住房城乡建设厅门户网站,网站建站软件文章目录 仓库地址介绍安装用法SHA512HMACBcryptScryptAESRSAECC 仓库地址 仓库地址:https://github.com/palp1tate/go-crypto-guard 欢迎star和fork! 介绍 此存储库包含用 Go 编写的全面的密码哈希库。该库支持多种哈希算法,它允许可定制…

文章目录

    • 仓库地址
    • 介绍
    • 安装
    • 用法
      • SHA512
      • HMAC
      • Bcrypt
      • Scrypt
      • AES
      • RSA
      • ECC

仓库地址

仓库地址:https://github.com/palp1tate/go-crypto-guard

欢迎starfork

介绍

此存储库包含用 Go 编写的全面的密码哈希库。该库支持多种哈希算法,它允许可定制的盐长度、迭代、键长度和算法选择。这个开源项目旨在为开发人员提供一个多功能的工具,用于安全的密码存储和验证。

支持的算法:

  • SHA512
  • SHA384
  • SHA256
  • SHA1
  • Md5
  • HMAC
  • Argon2
  • Bcrypt
  • Scrypt
  • Blake2b
  • Blake2s
  • AES
  • DES
  • 3DES
  • RSA
  • RC4
  • Blowfish
  • ECC

一些加密过后的密码格式与Django内置的加密算法格式相同:

<algorithm>$<iterations>$<salt>$<hash>

其他可能的格式:

<algorithm>$<hash>

安装

go get -u github.com/palp1tate/go-crypto-guard 

用法

SHA512

// SHA512 使用 PBKDF2 和 SHA-512 对密码进行加密。
// 它接受密码、盐长度、密钥长度和迭代次数作为输入。如果你传入一个无效的值,函数将采取默认值。
// 它生成一个盐,使用 PBKDF2 和 SHA-512 派生一个密钥,并返回加密的密码。
// 密码的格式:<algorithm>$<iterations>$<salt>$<hash>
//pbkdf2_sha512$100$40fde046f66c1d9e55b4435d$1fdd34c50a98e576b612d66be507f019password := "12345678"
encodedPassword, _ := pwd.GenSHA512(password, 12, 16, 100)
ok, _ := pwd.VerifySHA512(password, encodedPassword)

SHA384、 SHA256、 SHA1、 Md5和 Argon2的用法与 SHA512相同.

HMAC

// HMAC 使用 HMAC 和 SHA-256 对密码进行加密。
// 它接受密码和盐长度作为输入。
// 它生成一个盐,使用盐和 SHA-256 计算密码的 HMAC,并返回加密的密码。
// 密码的格式:<algorithm>$<salt>$<hash>
//hmac$3bf4e2c1a9ed54575d0d1f937eb363ab$a6ed73f8fe48867db2bd58c69ebe6c0fb91ecdd8147c4352fecf018d07cb4f43password := "12345678"
encodedPassword, _ := pwd.GenHMAC(password, 16)
ok, _ := pwd.VerifyHMAC(password, encodedPassword)

Bcrypt

// Bcrypt 使用 Bcrypt 哈希函数对密码进行加密。
// 它接受一个密码作为输入,使用 Bcrypt 的默认成本从密码生成一个哈希,并返回加密的密码。
// 密码的格式:<algorithm>$<hash>
//bcrypt$243261243130246769545174546869684f565835616a694a4e3578432e6e387a4c426451526932692e443067756758334a436d3532717365784e5661password := "12345678"
encodedPassword, _ := pwd.GenBcrypt(password)
ok, _ := pwd.VerifyBcrypt(password, encodedPassword)

对 Blake2b、 Blake2s 的使用与对 Bcrypt 的使用相同.

Scrypt

// Scrypt 使用 Scrypt 密钥派生函数对密码进行加密。
// 它接受一个密码、盐长度和密钥长度作为输入。
// 它生成一个盐,使用 Scrypt 和提供的参数派生一个密钥,并返回加密的密码。
// 密码的格式:<algorithm>$<salt>$<hash>
//scrypt$679a0a3c8336a9ff36b809862e7d494c$c4cec5ca742fa984045457f76d217acf245f032251c6a3952c4d68e1cba4a488password := "12345678"
encodedPassword, _ := pwd.GenScrypt(password, 16, 32)
ok, _ := pwd.VerifyScrypt(password, encodedPassword)

AES

// AES 使用 AES 加密算法对密码进行加密。
// 它接受一个密码和一个 AES 密钥作为输入。
// 它从 AES 密钥创建一个新的密码块,对密码应用 PKCS7 填充,并使用 CBC 模式加密密码。它返回加密的密码。
// 密码的格式:<algorithm>$<hash>
// aes$BhV9oJiePwpsEwDWizJoCA==password := "12345678"
//aes key的长度必须为32
aesKey := "palpitateabcdefghijklmn123456789"
encodedPassword, _ := pwd.GenAES(password, aesKey)
ok, _ := pwd.VerifyAES(password, encodedPassword, aesKey)

DES、ThreeDES、RC4和Blowfish的使用与Bcrypt相同,对于DES,desKey的长度必须为8。对于ThreeDES,threeDesKey的长度必须为24。rc4Key和BlowfishKey的长度没有限制,但对于Blowfish,密码的长度必须为8。

RSA

// GenRSAKey 生成一对 RSA 密钥并将它们保存到文件中。 
// 它接受密钥的位数作为输入。推荐使用 2048 或 4096。 
// 它生成一个私钥和一个公钥,并分别将它们写入 “privateKey.pem” 和 “publicKey.pem”。// RSA 使用 RSA 加密算法对密码进行加密。 
// 它接受一个密码和公钥文件的路径作为输入。 
// 它从文件中读取公钥,使用 RSA 和 PKCS1v15 填充对密码进行加密,并返回加密的密码。 
// 密码的格式:<algorithm>$<hash> 
//rsa$3p1+X80iFIDtwtKOQFjXm+deyv+cxkEIbpXuwXcqbcCvean6zyWvcrogQtDj2MkYOE2ScHpARR93RYxs3y+RXetKAHhrDqWURYcyJwuTwShBmR4hz+3WkFzhqm44IgPdlgdt70uO7TXx6fj1WmUTsZpNDTF/WNdEUO7Rzc8wahYBcnMOnPgUXrnUCYRSX7OBjuLwThnd9FTgh8CdaqESHWh6UPgkj9xz3G2uRplx2Tae0Pbsk8vQTuJXsqT//Q8yoC+ELo+5S6wTE6H8AMBdgvJgNHzFDldQD8UsZ7Ta/u2uF/joHwBA6V6IS4+1ithspE9ceJZCBWo2Cj6fMIbvjg==// 在你可以加密密码之前,你必须先生成一对密钥。这个函数只能被调用一次,记住在验证密码时需要相同的密钥对。_ = pwd.GenRSAKey(2048)	//只需要执行一次就可以注释掉
password := "12345678"
encodedPassword, _ := pwd.GenRSA(password, "publicKey.pem")
ok, _ := pwd.VerifyRSA(password, encodedPassword, "privateKey.pem")

ECC

// ECC 使用 ECC 加密算法对密码进行加密。
// 它接受一个密码和一个私钥作为输入。
// 它计算密码的 SHA-256 摘要,使用私钥对摘要进行签名,并返回加密的密码。
// 密码的格式:<algorithm>$<hash>
//ecc$BQOoQvBhRHKi9GsV0qpPiyMJ5hRwdiXlQL7CcMsPCo1GvIomtb8xzjNnmq7RNRWmS9AKXo+i0Cg4fmAdLeCN8w==password := "12345678"
privateKey, _ := ecdsa.GenerateKey(elliptic.P256(), rand.Reader)
encodedPassword, _ := pwd.GenECC(password, privateKey)
publicKey := privateKey.PublicKey
ok, _ := pwd.VerifyECC(password, encodedPassword publicKey)
http://www.yidumall.com/news/70347.html

相关文章:

  • 做网站建设有哪些公司长沙网站定制公司
  • 泉州seo建站百度竞价排名广告
  • 网站建设与管理教学视频教程seo 优化教程
  • 电销精准客户资源排名sem优化软件
  • 加强关工委网站建设爱站网关键词密度查询
  • 外贸网站外链怎么做如何写推广软文
  • app科技产品网站建设有哪些推广平台和渠道
  • 网站制作知名公司网络平台推广运营有哪些平台
  • html怎么做音乐网站网页设计网站建设
  • 网站头页怎么在百度做免费推广
  • 西安异构国际设计百度搜索关键词排名人工优化
  • 中国建筑集团有限公司官网赵钊关键词优化的软件
  • 中药材网站开发搜狗链接提交入口
  • 怎么给公司做免费网站百度电脑版网页版
  • 云南网站设计外包青岛网站推广关键词
  • 广州建设工程信息网站百度一下百度一下
  • 网站建设及域名今日北京新闻
  • 住房和城乡建设厅官方网站网络营销的模式有哪些
  • 加强公司窗口网站建设微信推广引流方法
  • 新建定制网站费用2345网址导航官网官方电脑版下载
  • 网站和域名的关系百度云网盘资源搜索
  • 深圳企业注销流程兰州网络seo公司
  • 网站做百度竞价引流费用多少钱艾瑞指数
  • 东莞网络排名优化唐山seo推广公司
  • 网站开发南城科技大厦品牌搜索引擎服务优化
  • 成都网站建设 赢展百度推广联系人
  • 宜昌企业网站建设网络运营推广怎么做
  • 帮人做推广的网站怎样建立自己的网站平台
  • 做医学期刊杂志网站百度官网认证申请
  • 网站建设工作整改报告qq营销软件