SecureRandom.getInstance("DRBG") 使用什么实际算法?

2023-12-09

Java 9 (JSR 379)介绍 NIST DRBG如指定JEP 273:基于 DRBG 的 SecureRandom 实现.

然而,NIST 文档SP 800-90Ar1 (NIST 特别出版物 800-90A 修订版 1:使用确定性随机位生成器生成随机数的建议)总共指定了三种机制:

在 800-90Ar1(在所有平台上)中实现三种 DRBG 机制(Hash_DRBG、HMAC_DRBG、CTR_DRBG)。

然而,尽管您可能期望我们现在拥有三种方法来创建这种安全的随机算法:

  1. SecureRandom.getInstance("Hash_DRBG")
  2. SecureRandom.getInstance("HMAC_DRBG")
  3. SecureRandom.getInstance("CTR_DRBG")

...可能有各种配置参数,我们似乎只有一个:

  1. SecureRandom.getInstance("DRBG")

那么开发人员如何配置和检测使用的是哪一种算法呢?


来自JEP

A new 安全随机参数接口,以便可以进行额外的输入 提供给新的 SecureRandom 方法。

从那里我们到达Drbg参数其中说

实施注意事项:

以下注释适用于 SUN 中的“DRBG”实现 JDK 参考实现的提供者。本次实施 支持DRBG算法的Hash_DRBG和HMAC_DRBG机制 SHA-224、SHA-512/224、SHA-256、SHA-512/256、SHA-384 和 SHA-512,以及 CTR_DRBG(既使用求导函数又不使用求导函数 函数)与 DRBG 算法 AES-128、AES-192 和 AES-256。

机制名称和DRBG算法名称由 安全属性 securerandom.drbg.config。默认选择是 采用 SHA-256 的 Hash_DRBG。

因此,依赖于实现并且使用默认实现,只能通过属性进行切换。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SecureRandom.getInstance("DRBG") 使用什么实际算法? 的相关文章

  • Base36 编码字符串?

    我一直在网上查找 但找不到解决此问题的方法 在 Python Ruby 或 Java 中 如何对以下字符串进行 Base 36 编码 nOrG9Eh0uyeilM8Nnu5pTywj3935kW 5 Ruby 以 36 为基数 s unpa
  • 将SQL数据引入jquery availabletag

    我正在尝试制作自动完成文本框 但如何将 SQL 数据包含到 jquery 可用标记并循环它 我无法根据以下代码执行该功能 任何帮助 将不胜感激 谢谢 这是我的预期输出 预期结果演示 http jsfiddle net VvETA 71 jq
  • Reactive Spring 不支持 HttpServletRequest 作为 REST 端点中的参数?

    我创建了一个 RestController 如下所示 RestController public class GreetingController RequestMapping value greetings method RequestM
  • Android 中 localTime 和 localDate 的替代类有哪些? [复制]

    这个问题在这里已经有答案了 我想使用从 android API 获得的长值 该值将日期返回为长值 表示为自纪元以来的毫秒数 我需要使用像 isBefore plusDays isAfter 这样的方法 Cursor managedCurso
  • 在 MongoDB 和 Apache Solr 之间同步数据的简单方法

    我最近开始使用 MongoDB 和 Apache Solr 我使用 MongoDB 作为数据存储 并且希望 Apache Solr 为我的数据创建索引 以实现应用程序中的搜索功能 经过一些研究 我发现 基本上有两种方法可以在 MongoDB
  • org/codehaus/plexus/archiver/jar/JarArchiver(不支持的major.minor版本49.0)-Maven构建错误

    下午大家 我在尝试构建项目时收到上述错误 我很确定这与使用 Java 1 6 编译的 Maven 最新更新有关 而我们尝试构建的项目是 1 4 项目 在此之前的插件工作没有问题 因此我将以下内容添加到 POM xml 文件中以尝试强制使用现
  • Eclipse - 安装新的 JRE (Java SE 8 1.8.0)

    我正在尝试安装 Java 8 到目前为止我所做的 安装最新版本的 Eclipse 下载并安装 Java SE 运行时环境 8http www oracle com technetwork java javase downloads jre8
  • 如何删除日期对象的亚秒部分

    当 SQL 数据类型为时间戳时 java util Date 存储为 2010 09 03 15 33 22 246 如何在存储记录之前将亚秒设置为零 例如 在本例中为 246 最简单的方法是这样的 long time date getTi
  • 如何通过 Android 按钮单击运行单独的应用程序

    我尝试在 Android 应用程序中添加两个按钮 以从单独的两个应用程序订单系统和库存系统中选择一个应用程序 如图所示 我已将这两个应用程序实现为两个单独的 Android 项目 当我尝试运行此应用程序时 它会出现直到正确选择窗口 但是当按
  • 如何停止执行的 Jar 文件

    这感觉像是一个愚蠢的问题 但我似乎无法弄清楚 当我在 Windows 上运行 jar 文件时 它不会出现在任务管理器进程中 我怎样才能终止它 我已经尝试过 TASKKILL 但它对我也不起作用 On Linux ps ef grep jav
  • Java - 从 XML 文件读取注释

    我必须从 XML 文件中提取注释 我找不到使用 JDOM 或其他东西来让它们使用的方法 目前我使用 Regex 和 FileReader 但我不认为这是正确的方法 您可以使用 JDOM 之类的东西从 XML 文件中获取注释吗 或者它仅限于元
  • Lombok @Builder 不创建不可变对象?

    在很多网站上 我看到 lombok Builder 可以用来创建不可变的对象 https www baeldung com lombok builder singular https www baeldung com lombok buil
  • 如何从 Ant 启动聚合 jetty-server JAR?

    背景 免责声明 I have veryJava 经验很少 我们之前在 Ant 构建期间使用了 Jetty 6 的包装版本来处理按需静态内容 JS CSS 图像 HTML 因此我们可以使用 PhantomJS 针对 HTTP 托管环境运行单元
  • 禁用 Android 菜单组

    我尝试使用以下代码禁用菜单组 但它不起作用 菜单项仍然启用 你能告诉我出了什么问题吗 资源 菜单 menu xml menu menu
  • 如何处理 StaleElementReferenceException

    我正在为鼠标悬停工作 我想通过使用 for 循环单击每个链接来测试所有链接的工作条件 在我的程序中 迭代进行一次 而对于下一次迭代 它不起作用并显示 StaleElementReferenceException 如果需要 请修改代码 pub
  • Hadoop NoSuchMethodError apache.commons.cli

    我在用着hadoop 2 7 2我用 IntelliJ 做了一个 MapReduce 工作 在我的工作中 我正在使用apache commons cli 1 3 1我把库放在罐子里 当我在 Hadoop 集群上使用 MapReduceJob
  • 使用 Java https 上传到 Imgur v3 错误

    我目前正在尝试使用他们当前的 API v3 上传到 imgur 但是我不断收到错误 错误 javax net ssl SSLException 证书中的主机名不匹配 api imgur com imgur com OR imgur com
  • HttpClient请求设置属性问题

    我使用这个 HttpClient 库玩了一段时间 几周 我想以某种方式将属性设置为请求 不是参数而是属性 在我的 servlet 中 我想使用 Integer inte Integer request getAttribute obj 我不
  • pandas 中数据帧中的随机/洗牌行

    我目前正在尝试找到一种方法来按行随机化数据框中的项目 我在 pandas 中按列洗牌 排列找到了这个线程 在 pandas 中对 DataFrame 进行改组 排列 https stackoverflow com questions 157
  • 基于 Spring Boot 的测试中的上下文层次结构

    我的 Spring Boot 应用程序是这样启动的 new SpringApplicationBuilder sources ParentCtxConfig class child ChildFirstCtxConfig class sib

随机推荐

  • 预期的标识符、字符串或数字

    我有一个像这样的对象 var defaults id ActionSlider element closeBtnWidth 55 panelWidth 320 class css create function 当我以 IE8 标准运行页面
  • 替换长 URL 的一部分并重定向

    有没有办法重定向 URL 如下所示 URL是基于过滤系统生成的 所以它是这样的 https example com product category no slash generated part is autoadded here 由于产
  • 给定一个视图,我如何获取它的viewController?

    我有一个指向UIView 我如何访问它UIViewController self superview 是另一个UIView 但不是UIViewController right 来自UIResponder的文档nextResponder UI
  • 以编程方式触发时 UIRefreshControl 不刷新

    我试图在视图加载时显示刷新控件 以表明我正在从 Parse 获取数据 刷新控件在应用程序运行时正常工作 但我无法让它从应用程序中的任何位置以编程方式触发 这是似乎没有运行的代码 override func viewDidAppear ani
  • 在 PHP 代码中以密件抄送方式添加电子邮件地址

    我正在尝试弄清楚如何在密件抄送中添加电子邮件地址 由于我添加了更多 headers 来添加盲电子邮件地址 因此整个代码不再起作用
  • Google App Engine 数据存储中的地理空间查询

    我读了下面的帖子 使用 Objectify 查询 Geopt 这正是我的应用程序所需要的 在帖子的最后 我读到地理空间搜索正在阿尔法体育场 但该帖子已经一年了 我在 Google App Engine 上找不到有关地理空间查询状态的任何信息
  • 如何通过 RPC 连接到 Hedera 测试网?​

    我无法通过 HTTP 连接到 Hedera Testnet RPC 端点 可靠地 我间歇性地收到以下 未知错误 Request ID fe7b9928 a23f 0d72 61a1 b7cd23658c01 Unknown error in
  • SQL查找具有多个字段的重复项(无唯一ID)解决方法

    我正在尝试使用以下几个字段从数据库中查找重复的供应商vendor表和供应商地址桌子 问题是 我进行的内部联接越多 查询丢失潜在结果的次数就越少 虽然我的供应商 ID 中没有重复项 但我希望找到类似的潜在供应商 ID 这是我到目前为止的查询
  • Android:在通话期间检测当前活动的电话号码

    目标 在 Android 平台上 检测当前正在与用户通话的个人的电话号码 目前 使用PhoneListener 在呼叫保持的情况下存在一定的歧义 案例 用户正在通话期间与某人通话 通话 1 用户因此处于呼叫状态摘机 然后用户处于 RINGI
  • Java 中的静态块与初始化块? [复制]

    这个问题在这里已经有答案了 可能的重复 静态初始化块 考虑以下code public class Test System out println Empty block static System out println Static bl
  • Jquery:包含显示所有跨度的警报

    我有一个跨度 span style font weight bold Text goes her span 像这样 contentarea bind click function e e preventDefault if e target
  • 如何优化此方法以将字符串分成块?

    这是方法 我想知道我是否违反了这里的任何最佳实践 或者就语言而言我是否做错了什么 private List
  • Django + mod_wsgi + Apache = 403 禁止

    我在 Debian 上总是遇到这个错误 无论我把代码放在哪里 我已经解决了这里的所有其他问题 但没有发现对我的案例有用的东西 这是默认站点配置 WSGIScriptAlias home user Code mysite core WSGIP
  • 可以使用GD和PHP为透明图像添加背景颜色

    我有使用 GD 用 php 语言编写的缩略图创建类 我想知道当我上传 png 或 gif 透明图像时 我可以在缩略图中添加背景吗 如果可能的话 请指导我如何做 谢谢 这是 PNG 文件的有效解决方案 filePath full path t
  • 如何在 PostgreSQL 中显示表?

    相当于什么show tables 来自 MySQL 在 PostgreSQL 中 来自psql命令行界面 首先 选择您的数据库 c database name 然后 这显示当前模式中的所有表 dt 以编程方式 或从psql当然 接口也是如此
  • OpenCV 对感兴趣区域的模糊

    我正在尝试创建一个圆圈并模糊 OpenCV 中的内容 但是 我可以制作圆圈 但无法模糊该部分 我的代码如下 请帮帮我 import io import picamera import cv2 import numpy as np impor
  • 当所选行是最后一行之前的行时自动滚动表格

    I have an issue related to scrolling table When the page is loaded the first row ROW 1 will be default selected row high
  • 无法让“this.mouse.click()”与 casperjs 一起使用

    我试图理解 casperjs 但为此苦苦挣扎 有人可以告诉我为什么这有效吗 它导航到http www w3schools com html default asp var casper require casper create var m
  • Android 媒体播放器在后台停止播放

    我正在制作功能简单的音乐播放器应用程序 但是 当我在 Android 6 手机上听音乐时 有时音乐会停止播放 直到我使用电源按钮再次打开显示屏 然后正在播放下一首歌曲 因此加载下一首歌曲似乎出现问题 我尝试编写新应用程序只是为了测试它 为此
  • SecureRandom.getInstance("DRBG") 使用什么实际算法?

    Java 9 JSR 379 介绍 NIST DRBG如指定JEP 273 基于 DRBG 的 SecureRandom 实现 然而 NIST 文档SP 800 90Ar1 NIST 特别出版物 800 90A 修订版 1 使用确定性随机位