- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在编写一个 Web 服务,它允许用户从算法列表中选择一个算法并生成指定大小的 key (使用 KeyGenerator)。我无法通过 API 找到任何方法来获取指定算法的一组可能的 key 大小。如果我尝试生成一个大小无效的 key ,我将得到一个异常指示,错误消息中包含该算法的可能 key 大小,但我想为用户预先确定一个选择列表。如果存在,任何人都可以指出正确的 API 吗?
最佳答案
我不认为这可以通过 API 获得,因为一些算法采用范围而不是不同的值。
来自 Java Cryptography Architecture Documentation (Java 7) , Keysize Restrictions 部分,KeyGenerator:
The SunJCE provider uses the following default keysizes (in bits) and enforces the following restrictions:
KeyGenerator
╔══════════════════════╦══════════════════╦════════════════════════════════════════════════════════════════════════════════╗
║ Algorithm Name ║ Default Keysize ║ Restrictions/Comments ║
╠══════════════════════╬══════════════════╬════════════════════════════════════════════════════════════════════════════════╣
║ AES ║ 128 ║ Keysize must be equal to 128, 192, or 256. ║
║ ARCFOUR (RC4) ║ 128 ║ Keysize must range between 40 and 1024 (inclusive). ║
║ Blowfish ║ 128 ║ Keysize must be a multiple of 8, ranging from 32 to 448 (inclusive). ║
║ DES ║ 56 ║ Keysize must be equal to 56. ║
║ DESede (Triple DES) ║ 168 ║ Keysize must be equal to 112 or 168. ║
║ ║ ║ A keysize of 112 will generate a Triple DES key with 2 intermediate keys, and ║
║ ║ ║ a keysize of 168 will generate a Triple DES key with 3 intermediate keys. ║
║ ║ ║ Due to the "Meet-In-The-Middle" problem, even though 112 or 168 bits of key ║
║ ║ ║ material are used, the effective keysize is 80 or 112 bits respectively. ║
║ HmacMD5 ║ 512 ║ No keysize restriction. ║
║ HmacSHA1 ║ 512 ║ No keysize restriction. ║
║ HmacSHA256 ║ 256 ║ No keysize restriction. ║
║ HmacSHA384 ║ 384 ║ No keysize restriction. ║
║ HmacSHA512 ║ 512 ║ No keysize restriction. ║
║ RC2 ║ 128 ║ Keysize must range between 40 and 1024 (inclusive). ║
╚══════════════════════╩══════════════════╩════════════════════════════════════════════════════════════════════════════════╝
我建议您为用户输入提供一个合适的组件(可编辑组合框),该组件根据算法选择而变化,然后为其提供验证。
关于java - 获取 JCE KeyGenerators 所有可能的 key 大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26269624/
降本手段一招鲜,增效方法吃遍天; 01 互联网行业里; 降本策略千奇百怪,手段却出奇一致;增效方法五花八门,手段更是花里胡哨; 对于企业来说;
有什么方法可以使用 angularjs 中的部分进行代码分组吗? 原因 --- 我的 Controller 包含太多代码。该 Controller 包含了多个方法和大量功能的代码,降低了代码的可读性。
不幸的是,我的数据库的数据模型必须改变,所以我正在寻找最轻松的方式来迁移我的数据。 此时情况如何: create table cargo{ id serial primary key, per
在 QTextEdit 对象中,假设我想知道字符在鼠标光标下的位置。 我会写... void MyQTextEditObject::mousePressEvent(QMouseEvent* mouse
是否可以在 C++ 中返回一个 return 语句或做一些具有类似功能的事情? 例如,如果代码中有几个函数将指针作为输入,并且每个函数都检查指针是否为 nullptr,这将很方便。如果它是一个 nul
我的 PC 上有一个控制台应用程序,它是 signalR 服务器。 我有一个 html 页面,它是互联网上的 signalR 客户端。但我尝试连接服务器,但我有一个错误的请求 400 错误。如果服务器
我想将应用程序作为后台进程运行。当点击应用程序图标时,它不会显示任何 View ,只会启动后台进程。 最佳答案 对于 iOS 这是不可能的,但是对于 android,react native 有 he
我知道有(昂贵的)框架可以让你在 VS C# 中编写 android 应用程序并将其编译为 android apk。 我也知道,可以在 VS 中编写 Java 应用程序(link)。 是否有可能,甚至
我在做: can :manage, :all if user.role == 'admin' can :approve, Anuncio do |anuncio| anuncio.try(:apr
我是一名优秀的程序员,十分优秀!