java 字符串转哈希_从哈希字符串转换字节,java与python
我在将纯java Curve25519函数转换为Python等效函数时遇到问题,具体问题与将哈希字符串转换为等效字节的摘要函数有关,java实现:
数据示例:
sP=“这是用于测试的密码短语示例”/**
* Calculate the SHA-256 hash of a string
*
* @param input Data to be hashed
* @return The hash digest
*/
public static byte[] singleDigest(String input) {
byte[] bytes;
try {
bytes = singleDigest(input.getBytes("UTF-8"));
System.out.println("bytes"+bytes);
System.out.println("before singleDigest"+input);
} catch (UnsupportedEncodingException exc) {
bytes = null;
}
return bytes;
}
/**
* Calculate the SHA-256 hash of a byte array
*
* @param input Data to be hashed
* @return The hash digest
*/
public static byte[] singleDigest(byte[] input) {
byte[] bytes;
synchronized (digest) {
digest.reset();
bytes = digest.digest(input);
StringBuffer sb = new StringBuffer();
for (int i = 0; i < bytes.length; i++) {
System.out.println(bytes[i]);
sb.append(String.format("%02x", bytes[i] & 0xFF));
}
System.out.println(sb.toString());
}
return bytes;
}
生成此字节输出:
字节输出:82、-57、124、58、-105、76、123、3、119、-21、121、71、-54、73、-75、54、31、-33、-49、-68、-16、-19、125、-61、-116、-82、96、50、-35、-119、-28、25
对于正数和负数,在python端,我使用此函数将散列字符串转换为字节:
^{pr2}$
我在这里使用列表而不是可变的bytearray,因为bytearray的内部表示(0-256),以及一些散列字符串的输出
不同且仅为正整数:
82、199、124、58、151、76、123、3、119、235、121、71、202、73、181、54、31、217、207、188、240、237、125、196、140、174、96、50、221、137、228、25
我注意到(256-JavaByteOutput[x]==PythonByteOtput[x])当JavaByteOutput为负数时,问题是,如何修改ParseHexString类,使其具有相等的正/负输出,并且我想要纯python代码而不需要库。在
谢谢你的回答。
当做
亚历克斯
java 字符串转哈希_从哈希字符串转换字节,java与python相关推荐
- java 写文件 权限不够_教你解决Linux系统中JAVA创建文件后权限不足的问题
在作业中,项目使用文件上传. 这个功能很常见. 当Kai Ge今天更改其官方帐户时,他遇到了一个问题,即无法访问下载的文件,也无法通过浏览器访问该文件. 它是怎么发生的? 经过许多问题之后,事实证明这 ...
- java list有序还是无序_牛批!2w字的Java集合框架面试题精华集(2020最新版),赶紧收藏。...
一个多月前,作者和一些小伙伴决定做一系列的 Java 知识点常见重要问题的小册,方便用来夯实基础!小册的标准就一个,那就是:取精华,取重点.每一本小册,我们都会充分关注我们所总结的知识点是否达到这个标 ...
- c#截取字符串后几位_基础库的字符串设计
C++在字符串上表现,一直以来很受人诟病,没有一个库的字符串类的表现能让人满意, std的string,mfc的CString,Qt的QString等等字符串类,都存在这样那样的问题,以至于字符串处理 ...
- java 时间转为毫秒数_疫情期间面试总结一(java基础方面)
一.线程池关键参数以及运行原理 1.corePoolSize(核心线程数):线程池中线程的核心数量,线程池创建后池中并没有线程,而是等有任务的时候才去创建线程,如果任务过多并且核心线程数已经用完,则新 ...
- java byte char io流_一文带你看懂JAVA IO流,史上最全面的IO教学
原标题:一文带你看懂JAVA IO流,史上最全面的IO教学 一.IO流是什么 惯例引用百科的回答 流是一种抽象概念,它代表了数据的无结构化传递.按照流的方式进行输入输出,数据被当成无结构的字节序或字符 ...
- java io流详解_一文带你看懂JAVA IO流,史上最全面的IO教学啦
一.IO流是什么 惯例引用百科的回答流是一种抽象概念,它代表了数据的无结构化传递.按照流的方式进行输入输出,数据被当成无结构的字节序或字符序列.从流中取得数据的操作称为提取操作,而向流中添加数据的操作 ...
- java对象横转纵_文件的横纵转换
通过文件的横纵转换对java的相关基础知识进行巩固 应用到的知识点有: 1.流(在此过程中主要用到的BufferedReader和BufferedWriter) 2.集合 重点突破: 对于这个问题重点 ...
- java技术全掌握了_你必须掌握的 21 个 Java 核心技术!
写这篇文章的目的是想总结一下自己这么多年来使用java的一些心得体会,希望可以给大家一些经验,能让大家更好学习和使用Java. 这次介绍的主要内容是和J2SE相关的部分,另外,会在以后再介绍些J2EE ...
- perl 哈希数组的哈希_使用哈希检查两个数组是否相似
perl 哈希数组的哈希 Prerequisite: Hashing data structure 先决条件: 哈希数据结构 Problem statement: 问题陈述: Check whethe ...
- java集合转js数值_前端js调用接口转换Map数组数据
返回Map数据 后端接口返回数据格式 { "code": 1, "msg": "操作成功!", "count": 0, ...
最新文章
- 90后大龄女考研二战失败 该何去何从
- JAVA自学笔记24
- golang 位操作
- Linux操作系统中Anaconda的安装
- 查看oracle监听服务状态,(总结)Oracle监听服务lsnrctl参数及查询状态详解
- oracle 导出 cuow,直通伍伦贡大学的升学保障— 伍伦贡大学学院(UOWC)
- 窗口潜水面罩行业调研报告 - 市场现状分析与发展前景预测(2021-2027年)
- Centos7安装mongodb
- 图片hover且设置transform其父级border-radius失效
- dda算法c语言,Python使用DDA算法和中点Bresenham算法画直线
- Vscode 配置cmake
- Maven到底是个啥?——Maven深入理解
- 【CodeVS3100】蜗牛
- Trend趋势反垃圾邮件黑名单申诉方法
- ORACLE的语言从中文修改为英文
- 我们爱分享----200多个js技巧代码
- centos7.4配置nginx php,centos7.4下安装配置PHP服务(源码安装)并配置nginx支持php
- MYSQL学习记录(8)
- cluster_acc计算
- Linux十大顶级发行版本