问题标签 [symmetric-key]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1107 浏览

codeigniter - Codeigniter 加密中可能的密钥长度是多少?

我正在使用 CI 自己的加密,需要确认 AES-256 与 CBC 使用的密钥长度。我同时使用 32 字节和 64 字节,一切正常。使用 128 字节(1024 位)密钥怎么样?

0 投票
2 回答
353 浏览

java - 如何选择我的 AES 加密强度,即 128、256、512 等?

下面是我如何在 java 中加密文本的示例,尽管加密有效。我似乎无法弄清楚如何修改加密级别,即 128、256、512 等。

代码:

我怎样才能在java中做到这一点?

0 投票
1 回答
3214 浏览

openssl - OpenSSL EVP API:如何使用对称密钥文件解密加密文件

嗨,我正在 Linux 上研究 C。

我有一个与对称密钥解密相关的查询。

我使用以下命令生成了一个对称密钥。

openssl rand base64 512 > sym.key

使用这个密钥(sym.key)我已经用下面的命令加密了一个文件。

openssl enc -aes-256-cbc -in temp.txt -out temp.enc -kfile sym.key

它生成了一个加密文件temp.enc

现在,我必须对EVP Decrypt API使用相同的密钥 ( sym.key ),并且必须解密这个加密文件。

任何人都可以建议我为此提供更好的方法。

这是代码

谢谢你。

0 投票
1 回答
1342 浏览

java - Java 加密:从文件加载对称密钥

所以最近我开始使用加密。我有一个正常工作的非对称加密类,但我也需要一个对称密钥类。尽管对称密钥类的大多数方面都可以正常工作,但从其编码字节加载密钥却没有。以下是对称密钥类。我已经标记了两个不起作用的构造函数。

使用以下测试代码运行会产生java.security.InvalidKeyException

例外:

测试 38 是System.out.println调用,PlasmaSymmetricEncrypter 96 在这里

我所有的代码都在github上

为清楚起见进行编辑: 1. 请忽略对字符串的加密方法,一旦我解决了这个问题,它们将被替换为 base64 编码。2. 构造函数本身不会发生错误,仅当我尝试获取重构密钥的密码时才会抛出该错误。

0 投票
1 回答
1470 浏览

azure - 是否应在 Azure IoT 中心设备连接字符串中使用对称密钥或 SAS 令牌

我注意到使用 Azure IoT 集线器,设备可以使用由设备主键或辅助键组成的连接字符串进行连接: HostName=<host_name>;DeviceId=<device_id>;SharedAccessKey=<primary_key or secondary key>

或者可以连接由生成的 SAS 令牌组成的连接字符串,形式为: HostName=<host_name>;DeviceId=<device_id>;SharedAccessSignature=SharedAccessSignature sr=<device_endpoint>&sig=<generated_token>&se=1453107988

在第一种形式中,对称密钥由设备持有,在第二种形式中,IoT 中心拥有设备的对称密钥。

所以,我的问题是我什么时候应该使用哪种形式?为什么?

0 投票
1 回答
4159 浏览

azure - 为什么选择 Azure IoT 中心的主键和辅助键?

在 Azure IoT 中心创建共享访问策略或注册设备时,将生成主密钥和辅助密钥对。我注意到我可以使用主键或辅助键将设备连接到 IoT 中心。

那么,拥有主键/辅助键的目的是什么?我应该如何设计这两个键的使用?

0 投票
1 回答
1362 浏览

c# - C# AES-256 Unicode 密钥

我需要在 a) Unicode 字符中为 AES-256 制作强密钥,b) 以字节为单位的密钥。

a) 我必须生成 50 个随机 Unicode 字符,然后将它们转换为字节。这可以使用 Unicode 字符作为 AES256 密钥吗?例如,我想使用此页面创建密码。有什么方法可以将 Windows 字符表中的所有字符导入 Windows Form App 中的程序?

b)我正在使用此代码:

够了还是我应该改变一些东西?

我还有一个问题。使 AES 密钥长于 43 个 ASCII 字符会更安全,还是会被散列到 256 位?43个字符和100个字符的ASCII键有区别吗?

0 投票
0 回答
449 浏览

node.js - Node JS 对称密钥加密

我在加密后使用 AES 256 将数据保存在数据库中。
有没有一种方法可以保护其他初级开发人员的加密密钥?

0 投票
2 回答
12298 浏览

c# - C# 中的 Rijndael 密钥大小

我目前正在用 C# 开发一个小工具,它可以让我快速加密我的文件。所以我使用了这个看起来很适合我的脚本。但我仍然有一个问题:密钥太短(最多 8 个字符)。我在 RijndaelManaged() 文档中读到密钥的最大大小是 256 位,所以我应该能够使用 64 个字符的密钥......(如 sha256 哈希)

但是每次我尝试增加密钥大小时,我都会得到一个很好的“加密失败!”,即使是 9 个字符。我一直在谷歌上寻找解决方案,但没有任何用处。

我发现的最好的就是这个。所以我试图改变填充,如:

但它并没有改变任何东西......

0 投票
1 回答
1214 浏览

php - 我如何使用 php 生成 AES-256 对称密钥

我确实环顾四周 - 以及在谷歌上的任何地方 - 寻找这个问题的直接和明确的答案,但一无所获。所以这里简单明了的是或否会很棒......

我被要求创建一个“AES-256 对称(也称为“会话”)密钥” - 不是加密,只是密钥 - 用于在肥皂消息头中签署数据。要求是密钥是 256“大小”......是的,我知道......

我知道 MCRYPT_RIJNDAEL_128 大小 32 实际上是 php 中的 AES-256 密码。我读了所有这些。

我知道有人问我是否有适用于他们的 java 实现。我必须使用 php。我有以下代码:`

这确实给了我一个原始的“钥匙”。

问题:“AES-256 会话/对称密钥”上方的原始密钥是否可用于签署肥皂安全标头?

在将原始密钥用于签名后,它会使用来自公共证书的密钥(使用 rsa-oaep-mgf1p)进行加密,并嵌入到标头中(EncryptedKey 标记)。它必须在另一端解密并用于验证签名标头的摘要......然后甘道夫出现......

我之所以问,是因为另一方(使用 java)告诉我“生成对称密钥的方式有问题”,但没有明确解释它的问题以及如何纠正该错误。

有人可以帮忙吗?我会很感激...

谢谢。