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

怎么自己创建网站免费windows优化大师电脑版

怎么自己创建网站免费,windows优化大师电脑版,网站建设二级菜单,博彩类网站建设序 本文主要研究一下PBE算法 PBE PBE即Password Based Encryption,基于口令的加密,它是一种组合算法,即一般是哈希对称算法,比如PBEWithMD5AndDES,就是用MD5做哈希,用DES做加解密,而其密钥则…

本文主要研究一下PBE算法

PBE

PBE即Password Based Encryption,基于口令的加密,它是一种组合算法,即一般是哈希+对称算法,比如PBEWithMD5AndDES,就是用MD5做哈希,用DES做加解密,而其密钥则是口令+salt基于哈希函数计算而来

java示例

    public void testPBEWithIvParameter() throws NoSuchPaddingException, NoSuchAlgorithmException, IllegalBlockSizeException, BadPaddingException, InvalidAlgorithmParameterException, InvalidKeyException, InvalidKeySpecException {String algorithm = "PBEWithMD5AndDES";char[] passwd = "123456".toCharArray();PBEKeySpec pbeKeySpec = new PBEKeySpec(passwd);SecretKeyFactory kf = SecretKeyFactory.getInstance(algorithm);SecretKey key = kf.generateSecret(pbeKeySpec);byte[] salt = new byte[8];Random random = new Random();random.nextBytes(salt);Cipher cp = Cipher.getInstance(algorithm);IvParameterSpec iv = new IvParameterSpec(RandomUtil.randomBytes(16));PBEParameterSpec pbeParameterSpec = new PBEParameterSpec(salt, 1000, iv);cp.init(Cipher.ENCRYPT_MODE, key, pbeParameterSpec);byte[] data = "helloworld".getBytes(StandardCharsets.UTF_8);byte[] encrypted = cp.doFinal(data);System.out.println(Base64.encode(encrypted));Cipher cpDecrypt = Cipher.getInstance(algorithm);cpDecrypt.init(Cipher.DECRYPT_MODE, key, pbeParameterSpec);byte[] decryptBytes = cpDecrypt.doFinal(encrypted);System.out.println(new String(decryptBytes));}

几个参数,一个是口令,即passwd,一个是salt,随机盐值,一个是ivParameter

golang示例

func Encrypt(message string, password string, salt []byte) (string, error) {keyObtentionIterations := 1000md5key, iv := getMd5DerivedKey(password, salt, keyObtentionIterations)encrypted, err := desEncrypt([]byte(message), md5key, iv)if err != nil {return "", err}result := encryptedif includePlainIvInEncryptionResults() {result = append(iv, result...)}if includePlainSaltInEncryptionResults() {result = append(salt, result...)}return base64.StdEncoding.EncodeToString(result), nil
}

小结

  • PBE即Password Based Encryption,基于口令的加密,它是一种组合算法,即一般是哈希+对称算法,比如PBEWithMD5AndDES,就是用MD5做哈希,用DES做加解密,而其密钥则是口令+salt基于哈希函数计算而来
  • 当使用固定salt和不使用ivParameter的DES的时候,同一个值,每次加密生成的密文是一样的,而使用随机salt和随机iv的时候,每次生成的密文是不一样的,这个时候密文会包含随机的salt和iv信息,在解密的时候能够正确解出明文
http://www.khdw.cn/news/55780.html

相关文章:

  • win2003做网站站长工具高清无吗
  • 自制图片软件优化大师绿色版
  • 中国人民银行网站官网首页营销技巧和营销方法
  • 网站系统安全保护等级是必须做的全网营销推广系统
  • 太原迎泽区疫情最新消息青岛官网优化
  • 去除wordpress.org优化推广公司哪家好
  • 邢台提供网站设计公司哪家专业关键词优化精灵
  • 微信公众号免费导入wordpress推广网站排名优化seo教程
  • 湖口县建站公司品牌推广宣传词
  • 做电影网站用的云盘seo培训优化课程
  • 网站备案信息注销百度网页链接
  • 凯里网站开发站内优化seo
  • 网站群发软文软件nba新闻最新消息滚动
  • 哪个学校的计算机专业最好关键词查询优化
  • 网站建设需要哪些软件市场营销案例分析
  • 蓝潮网站建设北京网站优化步
  • 如何做百度秒收录网站什么时候网络推广
  • wordpress搬家后错乱上海seo服务外包公司
  • 张家港杨舍网站制作品牌网站建设方案
  • 自适应网站设计站长工具5g
  • 新建网站建设如何注册百度账号
  • 网站代码编辑器友情链接交易平台
  • 局域网建设网站视频教程东莞做网站推广的公司
  • 在线音乐制作网站网络推广营销软件
  • 教做炸鸡汉堡视频网站郴州seo快速排名
  • 怎么做百度网盘链接网站口碑最好的it培训机构
  • 南京做南京华美整容网站网络营销的含义特点
  • php网站攻击做百度推广员赚钱吗
  • 昆明市住房和城乡建设局网站企业管理培训机构
  • java做网站编程seo的培训班