Jpbc哈希函数如何实现

Posted Yikolemon

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Jpbc哈希函数如何实现相关的知识,希望对你有一定的参考价值。

1.(0,1)→Element元素

在Jpbc库中存在两个方法

Element A=G1.newRandomElement();
A.setFromBytes(arr,0,arr.length);//A是一个Element对象,arr是一个byte数组
Element A = G1.newElemenFromBytest(arr);//arr是一个byte数组

上面两个方法都是通过byte数组生成的,那么就需要将01串转换成数组

 

通过String类的.getbytes()方法可以获取String生成的bytes数组

 

String str =new String("这是一个字符串");
byte
[] arr = str.getBytes();//str是一个String对象

 

同理生成整数Element元素同样通过这个方法。

在生成bytes的过程中可以进行更好的办法,比如SHA-256的算法,这块部分可以自己写。

 

2.Elemet元素→(0,1)

同样的在Jpbc库存在一个Element类的方法

byte[] arr=A.toBytes();//A是一个Element元素

获得byte数组后,可以使用BigInteger,String等类

如:

byte[] arr=A.toBytes();//A是一个Element元素
BigInteger arr = new BigInteger(arr);

 

以上是关于Jpbc哈希函数如何实现的主要内容,如果未能解决你的问题,请参考以下文章

(转)jpbc的基本函数介绍

HashMap原理:哈希函数的设计

哈希函数的常用构造方法

如何从 URL 获取片段标识符(哈希 # 后的值)?

一致性哈希的实现

JavaScript笔试题(js高级代码片段)