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

wordpress 取消https/网站推广seo招聘

wordpress 取消https,网站推广seo招聘,wordpress 悬浮栏,关于桥梁建设工程设公司网站这是关于如何在Java中使用salt生成QR代码和安全散列字符串的分步教程。 首先,需要一个可以处理QR码的库,我决定使用Zebra Crossing(“ZXing”)库,因为它简单易用(即有围绕它的社区)。添加以下依…

这是关于如何在Java中使用salt生成QR代码和安全散列字符串的分步教程。

首先,需要一个可以处理QR码的库,我决定使用Zebra Crossing(“ZXing”)库,因为它简单易用(即有围绕它的社区)。添加以下依赖项pom.xml:

<dependency><groupId>com.google.zxing</groupId><artifactId>core</artifactId><version>3.4.0</version>
</dependency>
<dependency><groupId>com.google.zxing</groupId><artifactId>javase</artifactId><version>3.4.0</version>
</dependency>

该库为生成和读取代码提供了相当广泛的功能。这对我的用例来说已经足够了,我只需要生成一个带有简单JSON对象的QR代码:

public byte[] qrCodeGenerator(String id) throws IOException, WriterException, InvalidKeySpecException, NoSuchAlgorithmException {String filePath = "QRCode.png";String charset = "UTF-8";Map hintMap = new HashMap();hintMap.put(EncodeHintType.ERROR_CORRECTION, ErrorCorrectionLevel.L);Map<String, String> qrCodeDataMap = Map.of("Name", id,"Key", keyProvider.generateVerificationKey(id) // see next section for ´generateVerificationKey´ method
    );String jsonString = new JSONObject(qrCodeDataMap).toString();createQRCode(jsonString, filePath, charset, hintMap, 500, 500);BufferedImage image = ImageIO.read(new File(filePath));ByteArrayOutputStream baos = new ByteArrayOutputStream();ImageIO.write(image, "png", baos);byte[] imageData = baos.toByteArray();return imageData;
}private void createQRCode(String qrCodeData, String filePath, String charset, Map hintMap, int qrCodeHeight, int qrCodeWidth) throws WriterException, IOException {BitMatrix matrix = new MultiFormatWriter().encode(new String(qrCodeData.getBytes(charset), charset),BarcodeFormat.QR_CODE,qrCodeWidth,qrCodeHeight,hintMap);MatrixToImageWriter.writeToPath(matrix,filePath.substring(filePath.lastIndexOf('.') + 1),FileSystems.getDefault().getPath(filePath));
}

还要注意有趣的小东西 JSONObject:是使用Java将哈希映射转换为JSON对象。有时,以您希望的方式构建数据结构要容易得多,然后序列化为JSON:

Map<String, String> qrCodeDataMap = Map.of("Name", "SampleText","Key", "SomeHashedValue"
);

String jsonString = new JSONObject(qrCodeDataMap).toString();

为了能够使用JSONObject类,您需要将以下依赖项添加到您的pom.xml:

<dependency><groupId>org.json</groupId><artifactId>json</artifactId><version>20180813</version>
</dependency>

如果您正在寻找更简化的接口,您可能还会查看QRGen,它声称可以进一步简化用于Java的QR代码生成API,并且构建在ZXing之上。但是,在我的情况下,ZXing绝对没问题。

哈希字符串

现在,我需要能够以快速安全的方式哈希加密字符串。为此,我决定使用OWASP for Java建议的方法。要实现此方法,您需要首先更新pom.xml:

<dependency><groupId>commons-codec</groupId><artifactId>commons-codec</artifactId><version>1.12</version>
</dependency>

这里是Java中所述方法的(有些简化)实现:

public String generateVerificationKey(String str) throws NoSuchAlgorithmException,InvalidKeySpecException {int iterations = 10000;int keyLength = 512;char[] strChars = str.toCharArray();byte[] saltBytes = salt.getBytes();SecretKeyFactory skf = SecretKeyFactory.getInstance("PBKDF2WithHmacSHA512");PBEKeySpec spec = new PBEKeySpec(strChars, saltBytes, iterations, keyLength);SecretKey key = skf.generateSecret( spec );byte[] hashedBytes = key.getEncoded( );return Hex.encodeHexString(hashedBytes);
}

转载于:https://www.cnblogs.com/Java-no-1/p/11033032.html

http://www.jmfq.cn/news/4890529.html

相关文章:

  • dede 汽车网站/前端优化
  • 自己做网站需要哪些流程/抓关键词的方法10条
  • 湖北省建设厅七大员报名网站/seo最新
  • 全国最大机械采购平台/合肥seo推广排名
  • 表述网站建设流程/商务软文写作300
  • 加盟网站建设/网络营销环境分析
  • 塘厦镇网站仿做/专业网络推广机构
  • 有什么网站是做名片印刷的/百度seo教程
  • 做网站神器/企业seo优化
  • 济南微网站开发/制作网站免费
  • php购物网站开发设计/什么网站可以免费推广
  • iis7.0建设网站/百度软件商店下载安装
  • 揭阳网站建设/今日重大军事新闻
  • 国外网站页头设计图片/常州seo排名收费
  • 网站制作知名公司/快速的网站设计制作
  • 专业模板建站软件/搜索热度和搜索人气
  • 连云港北京网站建设/关键词优化的技巧
  • 网站建设自身优势的分析/谷歌代理
  • 网站制作用什么语言/设计网站logo
  • 常德网站设计/百度怎么优化网站关键词
  • 赣县网站建设/东莞网站优化公司哪家好
  • 手机网站头部图片怎么做/香港疫情最新情况
  • 企业网站建设方案策划/seo基本步骤
  • 王野天启鸿源/如何提高搜索引擎优化
  • 柳州做网站制作的公司有哪些/谷歌广告上海有限公司官网
  • 佛山网站建设企划动力/重庆森林粤语完整版在线观看免费
  • 网站域名需要备案吗/网页制作代码
  • 北京web网站开发培训班/18种最有效推广的方式
  • 做旅行网站多少钱/运营和营销的区别和联系
  • 北京的网站建设公司有哪些/北京网络推广公司wyhseo