旧代码

  public static void main(String[] args) {SecureRandom random = new SecureRandom();byte[] key = new byte[16];random.nextBytes(key);BigInteger bigInteger = new BigInteger(key);System.out.println("old:" + Arrays.toString(key));System.out.println(bigInteger);System.out.println("new:" + Arrays.toString(bigInteger.toByteArray()));}

虽然这段代码可以进行正常转换,但是BigInteger不是正数范围,在密码学计算中,都要求是正数

指定byte数组为正数BigInteger

BigInteger m = new BigInteger(1, bytesMessage);

正数BigInteger,会有符号位,去除第一个符号位0,还原得到原始数组

  public static byte[] toByteArray(BigInteger bi) {byte[] array = bi.toByteArray();if (array[0] == 0) {byte[] tmp = new byte[array.length - 1];System.arraycopy(array, 1, tmp, 0, tmp.length);array = tmp;}

转载于:https://www.cnblogs.com/victor2302/p/11018189.html

byte数组和正数BigInteger之间的相互转换相关推荐

  1. Java中List和数组Array和String之间的相互转换

    Java中List和数组Array和String之间的相互转换 之前面试的时候遇到一个问题,先给大家分享一下.问:我想分别得到list,string和数组的长度,我能通过什么代码来得到? 这个问题先留 ...

  2. Byte[]、Image、Bitmap 之间的相互转换

    /// <summary>         /// 将图片Image转换成Byte[]         /// </summary>         /// <param ...

  3. php中对象(object)与数组(array)之间的相互转换

    /*** 数组 转 对象** @param array $arr 数组* @return object*/ function array_to_object($arr) {if (gettype($a ...

  4. java字符串字节_Java中字符串与byte数组之间的相互转换

    前言 Java与其他语言编写的程序进行tcp/ip socket通讯时,通讯内容一般都转换成byte数组型,java在字符与数组转换也是非常方便的.下面跟我一起来了解一下字符串与byte之间转换的原理 ...

  5. php byte字节数组转stream,IStream与TStream之间的相互转换

    IStream与TStream之间的相互转换 更新时间:2008年08月01日 00:48:51   作者: IStream与TStream之间的相互转换的代码 procedure TForm1.Bu ...

  6. 数组和list之间的相互转换

    数组和list之间的相互转换 数组转list 遍历 Arrays.asList()方法(有局限) Collections.addAll() java8 stream流 list转数组 toArray( ...

  7. java byte转16进制_Java 十六进制(Hex)与byte数组之间的转换

    一.十六进制(Hex)与字节(byte)的概念 十六进制(Hex):计算机中数据的一种表示方法,它由0-9,A-F组成,字母不区分大小写.与10进制的对应关系是:0-9对应0-9:A-F对应10-15 ...

  8. byte[]数组和int之间的转换

    这里简单记录下两种转换方式: 第一种: 1.int与byte[]之间的转换(类似的byte short,long型) [java] view plaincopy /** * 将int数值转换为占四个字 ...

  9. 接口请求,上传byte数组byte[]数据异常,负数变正数/负数变63

    接口请求,上传byte数组byte[]数据异常,负数变正数/负数变63 参考文章: (1)接口请求,上传byte数组byte[]数据异常,负数变正数/负数变63 (2)https://www.cnbl ...

最新文章

  1. 页面布局让footer居页面底部_网站各页面该如何布局关键词优化提升排名?
  2. Mozilla宣布年底前放弃支持Persona登录服务
  3. EMIF的两个接口EMIFA和EMIFB分析与比较
  4. (0004) iOS 开发之CocoaPods 升级过程
  5. Cause: invalid code lengths set
  6. 使用 Spring HATEOAS 开发 REST 服务--转
  7. 一刀传世网页破天服务器同步,一刀传世破天1844服开服时间表_一刀传世新区开服预告_第一手游网手游开服表...
  8. Java基础类冒泡排序_Java基础 -- 冒泡排序算法(带详细注释)
  9. Django model 反向引用中的related_name
  10. 仅需1分钟,让你的电脑变无线路由器
  11. 生产环境一次诡异的空指针问题,反转了4次
  12. sql server添加列
  13. Chrome浏览器启动命令行参数大全
  14. 数据库作业8:SQL练习5 - SELECT(嵌套查询EXISTS、集合查询、基于派生表的查询)
  15. windows创建文件硬连接
  16. win10 增加右键在此处打开命令行菜单
  17. 8421码,5421码,2421码,余3码的区别
  18. UVa 1025 (DAG 上的动态规划,有固定终点的最短时间,逆推法)
  19. 微信小程序java服务_微信小程序访问webService(Java)
  20. 淘宝开放平台 获取商品信息api权限获取

热门文章

  1. Python的注释及乱码 || 变量及类型
  2. 修改sga后oracle打不开的解决方法
  3. sql like语句中的通配符:百分号、下划线和escape
  4. Windows 技术篇-win7利用系统自带工具关闭开机启用程序,不使用杀毒软件设置开机启动项
  5. FreeRtos学习笔记(11)查找就绪任务中优先级最高任务原理刨析
  6. IMXRT 分散加载文件 修改OCRAM,DTCM、ITCM大小
  7. RTC时间在LCD上显示需注意的问题
  8. sort--排序函数
  9. Linux命令行下关机【Ubuntu】
  10. 用CSS写出一个下拉菜单小箭头