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

常州做网站多少钱图片链接在线生成器

常州做网站多少钱,图片链接在线生成器,怎样做一个企业的网站建站,企业创建网站的途径都有啥java 哈希算法抽象 这是涵盖Java加密算法的三部分博客系列文章的第1部分。 该系列涵盖如何实现以下功能#xff1a; 使用SHA–512散列 使用AES–256的单密钥对称加密 使用RSA–4096的公钥/私钥非对称加密 第一篇文章详细介绍了如何实现SHA–512哈希。 让我们开始吧。 免责… java 哈希算法 抽象 这是涵盖Java加密算法的三部分博客系列文章的第1部分。 该系列涵盖如何实现以下功能 使用SHA–512散列 使用AES–256的单密钥对称加密 使用RSA–4096的公钥/私钥非对称加密 第一篇文章详细介绍了如何实现SHA–512哈希。 让我们开始吧。 免责声明 这篇文章仅供参考。 在使用所提供的任何信息之前请认真思考。 从中学到东西但最终自己做出决定风险自负。 要求 我使用以下主要技术完成了本文的所有工作。 您可能可以使用不同的技术或版本来做相同的事情但不能保证。 Java 1.8.0_152_x64 NetBeans 8.2内部版本201609300101 Maven 3.0.5与NetBeans捆绑在一起 下载 访问我的GitHub页面以查看我所有的开源项目。 这篇文章的代码位于项目中 thoth-cryptography 散列 关于 散列是一种单向加密算法可接收任意长度的消息并输出消息的可重复固定长度和单向摘要哈希。 作为单向方式应该无法从哈希中重新生成原始消息。 相同的消息将始终生成相同的哈希。 哈希可以用于验证原始消息。 哈希的一种常见用法是验证密码。 代替存储密码本身而是存储密码的哈希。 为了验证密码在登录过程中将存储的哈希与输入密码的新哈希进行比较。 由于相同的消息会生成相同的哈希因此将使用salt值使哈希更安全Salt2017第1段。 考虑多个用户使用相同密码的情况。 盐值与原始密码结合使用可实现唯一的哈希值。 这很重要因为如果散列值曾经遭到破坏则相同的哈希值会让黑客知道那些密码是相同的。 SHA–512 截至今天进行的研究似乎表明哈希算法的最佳和最安全算法是SHA–512它使用64位字Secure Hash Algorithms2017第2段。 让我们看一个例子。 注意请勿将MD5用作安全哈希。 它具有许多漏洞MD52017年第1段。 将MD5的使用限制为校验和和数据验证。 例 清单1是ShaTest.java单元测试演示了如何哈希。 清单2是执行哈希的Sha.java类。 清单1 – ShaTest.java类 package org.thoth.security.hash;import java.util.Optional; import org.junit.Assert; import org.junit.Test;/*** author Michael Remijan mjremijanyahoo.com mjremijan*/ public class ShaTest {Testpublic void test_hash_with_optional_to_hex() throws Exception {// setupString username mjremijan;String password super!secret;Sha sha new Sha();// testString asHex sha.hashToHex(password, Optional.of(username));// assertAssert.assertEquals(F38CD5290D11B20159E36740843A8D93CFDFA395CF594F328613EF5C7BA42D9EAC00BF3EE47B7E8CE1587040B36365F05C8E15E9392C288A1D7C4CFB66097848, asHex);}Testpublic void test_hash_without_optional_to_hex() throws Exception {// setupString password super!secret;Sha sha new Sha();// testString asHex sha.hashToHex(password, Optional.empty());// assertAssert.assertEquals(516A1FE9D87FE5B953D91B48B1A2FFA5AE5F670914C1B6FE0835D8877918DC4E8BC8FB8CCD520DBA940C21B4F294DFD1B4EFF2E06AB110C6A06E35068251C1DD, asHex);}Testpublic void test_hash_with_optional_to_base64() throws Exception {// setupString username mjremijan;String password super!secret;Sha sha new Sha();// testString asBase64 sha.hashToBase64(password, Optional.of(username));// assertAssert.assertEquals(84ZVKQ0RSGFZ42DAHDQNK8/FO5XPWU8YHHPVXHUKLZ6SAL85HTJOFYCECZY2XWXI4V6TKSKIODFEZ7ZGL4SA, asBase64);}Testpublic void test_hash_without_optional_to_base64() throws Exception {// setupString password super!secret;Sha sha new Sha();// testString asBase64 sha.hashToBase64(password, Optional.empty());// assertAssert.assertEquals(UWOF6DH/5BLT2RTISAL/PA5FZWKUWBBCDXYH3KY3E6LYPUMZVINUPQMIBTYLN/RTO/Y4GQXEMAGBJUGGLHB3Q, asBase64);} } 清单2 – Sha.java类 package org.thoth.security.hash;import java.io.UnsupportedEncodingException; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; import java.util.Base64; import java.util.Optional;/*** author Michael Remijan mjremijanyahoo.com mjremijan*/ public class Sha {public String hashToHex(String hashMe, OptionalString salt)throws NoSuchAlgorithmException, UnsupportedEncodingException {byte[] bytes hash(hashMe, salt);StringBuilder sp new StringBuilder();for (int i 0; i bytes.length; i) {sp.append(Integer.toString((bytes[i] 0xff) 0x100, 16).substring(1));}return sp.toString().toUpperCase();}public String hashToBase64(String hashMe, OptionalString salt)throws NoSuchAlgorithmException, UnsupportedEncodingException {return Base64.getEncoder().encodeToString(hash(hashMe, salt)).toUpperCase();}public byte[] hash(String hashMe, OptionalString salt)throws NoSuchAlgorithmException, UnsupportedEncodingException {MessageDigest md MessageDigest.getInstance(SHA-512);md.update(hashMe.getBytes(UTF-8));salt.ifPresent(s - {try { md.update(s.getBytes(UTF-8)); } catch (Exception e) {throw new RuntimeException(e);}});return md.digest();} }摘要 哈希很容易。 选择一种强大的哈希算法例如SHA–512来保护您的应用程序数据。 避免使用MD5来保护数据。 及时了解哪些算法强大且安全。 如果您使用的是较旧的算法存在漏洞或受到威胁请更新您的应用程序。 参考资料 盐加密。 2017年11月3日。 维基百科。 取自https://en.wikipedia.org/wiki/Salt_(cryptography 。 安全哈希算法。 2017年11月25日。 维基百科。 取自https://en.wikipedia.org/wiki/Secure_Hash_Algorithms 。 MD5。 2017年11月22日。 维基百科。 取自https://en.wikipedia.org/wiki/MD5 。 翻译自: https://www.javacodegeeks.com/2017/12/choosing-java-cryptographic-algorithms-part-1-hashing.htmljava 哈希算法
http://www.zqtcl.cn/news/383801/

相关文章:

  • 服务器网站打不开可以做哪些网站
  • 建设银行网站信息补充网站如何备份
  • 网站建设 杭州市萧山区网页此站点不安全
  • 微网站免费开发平台钟表珠宝商城网站建设
  • 帮建网站的人wordpress广告栏
  • 怎么学建网站教做甜品网站
  • 建网站 服务器需要安装 tomcat安徽城乡建设 厅网站
  • 建筑公司企业简介模板关于网站优化的文章
  • 绥化网站建设兼职互联网大厂设计哪家口碑好
  • 成交型网站建设公司六安亿联网络科技有限公司
  • 优秀行业网站广州网站建设怎么样
  • 南宁建设信息网seo推广公司排名
  • 凯发网站国外网站博客网站也可以做引流
  • 网站设计要学什么vestacp wordpress
  • 模板建站代理3免费做网站
  • 酒店官方网站的功能建设百度网盟推广案例
  • 屯昌网站建设wap网站搭建
  • 毕设做音乐网站重庆正云环境网页制作
  • 免费网站建站w深圳罗湖建网站
  • 创建一个网站一般步骤有哪些互动网站策划
  • 文化传媒 网站设计宿迁网站建设价格
  • 网站开发五人分工是网站推广的案例
  • 海外网站制作seo技术
  • 包头网站建设熊掌号免费行情100个软件
  • 江门网站制作维护电子商务网站运营与管理
  • 动画网页制作网站常用的网络推广方法有
  • 一个设计网站多少钱sku电商是什么意思
  • 做网站优化有前景吗emlog和wordpress
  • 30天网站建设实录 pdf货源网站程序
  • 做企业网站需要多久培训机构 网站建设