cryptography相关内容

java.util.Random 和 java.security.SecureRandom 的区别

我的团队移交了一些生成随机令牌的服务器端代码(Java),我有一个关于相同的问题 - 这些令牌的用途相当敏感 - 用于会话 ID、密码重置链接等.因此它们确实需要加密随机以避免有人猜测它们或可行地对其进行暴力破解.令牌是一个“长",所以它是 64 位长. 代码当前使用 java.util.Random 类来生成这些标记.java.util 的文档.Random 明确声明如下: j ..
发布时间:2021-11-25 19:03:10 Java Web开发

鉴于未正确填充最终块

我正在尝试实现基于密码的加密算法,但出现此异常: javax.crypto.BadPaddingException:给定的最终块没有正确填充 可能是什么问题? 这是我的代码: public class PasswordCrypter {私钥密钥;公共密码加密器(字符串密码){尝试{密钥生成器;generator = KeyGenerator.getInstance("DES") ..
发布时间:2021-11-25 18:13:18 Java Web开发

使用 AES256 对称分组密码的图像加密/解密

有什么好的例子可以说明如何在 Android 上使用 AES 加密和解密图像和其他文件? 解决方案 警告:此答案包含您不应使用的代码,因为它不安全(使用 SHA1PRNG 进行密钥派生并在 ECB 模式下使用 AES) 相反(截至 2016 年),在 CBC 或 GCM 模式下使用 PBKDF2WithHmacSHA1 进行密钥派生和 AES(GCM 提供隐私和完整性) 您可以 ..
发布时间:2021-11-25 16:44:51 Java Web开发

如何解密 SHA-256 加密字符串?

我有一个经过加盐处理的字符串,用 SHA-256 散列,然后用 base64 编码.有没有办法将这个字符串解码回它的原始值? 解决方案 SHA-256 是一个 加密(单向)哈希函数,所以没有直接的方法来解码它.加密散列函数的全部目的是您无法撤消它. 您可以做的一件事是蛮力策略,您可以在其中猜测散列的内容,然后用相同的函数散列它,看看它是否匹配.除非散列数据很容易猜测,否则可能需要很长 ..
发布时间:2021-11-25 16:38:16 Java Web开发

如何在 Java 中使用 sha256 散列一些字符串?

如何在 Java 中使用 sha256 散列一些字符串?有人知道有什么免费的图书馆吗? 解决方案 SHA-256 不是“编码"- 这是一种单向哈希. 您基本上会将字符串转换为字节(例如使用 text.getBytes(StandardCharsets.UTF_8)),然后对字节进行哈希处理.请注意,散列的结果也是任意的二进制数据,如果你想用字符串表示它,你应该使用 base64 或十 ..
发布时间:2021-11-25 16:27:48 Java Web开发

Java 默认加密/AES 行为

有谁知道默认的 Java 加密行为是为了什么: SecretKeySpec localSecretKeySpec = new SecretKeySpec(arrayOfByte, "AES");Cipher localCipher = Cipher.getInstance("AES"); 具体来说,我希望了解这些类如何生成 IV,以及仅指定“AES"时的默认加密模式是什么.谢谢. 解决方 ..
发布时间:2021-11-25 16:20:09 Java Web开发

从 PEM BASE64 编码的私钥文件中获取 RSA 私钥

我有一个私钥文件(PEM BASE64 编码).我想在其他地方使用它来解密其他一些数据.使用 Java 我尝试读取文件并解码其中的 BASE64 编码数据......这是我尝试过的代码片段.... import java.io.*;导入 java.nio.ByteBuffer;导入 java.security.*;导入 java.security.spec.PKCS8EncodedKeySpec ..
发布时间:2021-11-25 15:34:26 Java Web开发

在配置文件中加密密码?

我有一个程序可以从配置文件中读取服务器信息,我想加密该配置中的密码,以便我的程序可以读取和解密. 要求: 加密明文密码以存储在文件中 解密从我的程序文件中读取的加密密码 关于我将如何去做的任何建议?我正在考虑编写自己的算法,但我觉得它非常不安全. 解决方案 一个简单的方法是在 Java 中使用基于密码的加密.这允许您使用密码加密和解密文本. 这基本上意味着使用算法 ..
发布时间:2021-11-25 14:33:25 Java Web开发

为什么 SSL 握手会出现“无法生成 DH 密钥对"异常?

当我与某些 IRC 服务器(而不是其他服务器 - 大概是由于服务器的首选加密方法)建立 SSL 连接时,我收到以下异常: Caused by: java.lang.RuntimeException: 无法生成 DH 密钥对在 com.sun.net.ssl.internal.ssl.DHCrypt.(DHCrypt.java:106)在 com.sun.net.ssl.internal.ssl. ..
发布时间:2021-11-25 12:55:55 Java Web开发

Java 256 位 AES 基于密码的加密

我需要实现 256 位 AES 加密,但是我在网上找到的所有示例都使用“KeyGenerator"来生成 256 位密钥,但我想使用自己的密钥.如何创建自己的密钥?我曾尝试将其填充为 256 位,但随后我收到一条错误消息,指出密钥太长.我确实安装了无限管辖权补丁,所以这不是问题:) 即.KeyGenerator 看起来像这样...... //获取密钥生成器KeyGenerator kgen ..
发布时间:2021-11-25 10:31:53 Java Web开发

为什么像 SHA1Managed、SHA256Managed 这样的类对我的 Intellisense 隐藏?

进入System.Security.Cryptography命名空间时,只能看到SHA1、SHA256、HMACSHA1 等类. 但实际上,有一个 SHA1Managed 类,以及 SHA256Managed,我没有看到?当我手动写出来时 - 一切都按预期工作. 这是故意隐藏的吗?简单地实例化这些的托管版本与例如调用它们的工厂方法(SHA1.Create() 或 SHA256.Crea ..
发布时间:2021-11-24 19:24:37 C#

如何验证 PayPal Webhook 签名?

验证从 PayPal 收到的 Webhook 时遇到问题.可用的示例不多,并且集成商没有足够的加密知识来完成任务. 遵循的指南是Webhook 通知. 不确定代码片段有什么问题,结果总是错误的. 调用 notifications/verify-webhook-signature 端点也导致错误. ///验证PayPal Webhook签名/// ..
发布时间:2021-11-24 18:52:06 C#

如何在 .netcore/Linux 中实现 Diffie Hellman

ECDiffieHellmanCng -> 平台不支持 ECDiffieHellmanOpenSsl -> PublicKey.ToByteArray() -> 平台不支持 这是 7 个月前其他人提出的基本相同(未回答)的问题如何序列化和反序列化公共Linux 上 ECDiffieHellmanOpenSsl 的密钥? 如果有办法驯服所提供的课程,我想避免引入 3rd 方 dep ..
发布时间:2021-11-24 18:48:33 C#

如何在 .netcore/Linux 中实现 Diffie Hellman

ECDiffieHellmanCng -> 平台不支持 ECDiffieHellmanOpenSsl -> PublicKey.ToByteArray() -> 平台不支持 这是 7 个月前其他人提出的基本相同(未回答)的问题如何序列化和反序列化公共Linux 上 ECDiffieHellmanOpenSsl 的密钥? 如果有办法驯服所提供的课程,我想避免引入 3rd 方 dep ..
发布时间:2021-11-24 18:45:57 C#

获取临时密钥 x 和 y 坐标

使用 .NET Core 3.1、C#. 我根本不擅长这种加密货币.有人可以帮我吗? 如何获取新生成的临时公钥 X 和 Y 字节?[编辑:得到这个工作!见下面的代码]. 如何生成未散列的 DerivedKeyMaterial?也许这没有意义,但我被要求不要应用 ecdh.HashAlgorithm = CngAlgorithm.Sha256; 但 null 不是一个选项. ..
发布时间:2021-11-24 18:11:32 C#

使用 TripleDES 在 .net 核心中加密

public static string Encrypt(string toEncrypt, string secretKey){字节[] keyArray;byte[] toEncryptArray = UTF8Encoding.UTF8.GetBytes(toEncrypt);var md5Serv = System.Security.Cryptography.MD5.Create();key ..
发布时间:2021-11-24 17:09:34 C#

在 .NET Core 中使用 SHA-1

在 dotnet core 中散列字符串时得到奇怪的结果我发现了这个类似的问题:Computing-sha1 with ASP.NET Core并找到了如何在 .net 核心中将字节数组转换为字符串 这是我的代码: 私有静态字符串CalculateSha1(string text){var enc = Encoding.GetEncoding(65001);//utf-8 代码页byte[ ..
发布时间:2021-11-24 17:04:48 C#

将数据安全地存储在内存中(基于密码的加密)

我必须将密钥存储到内存中.所以出于安全考虑,我们不能将加密密钥直接存储到内存中,我们需要以加密方式存储密钥.所以我们的想法是我们以加密的方式存储密钥,在加密操作时,只需解密密钥并使用它并处理密钥. 所以我们在 BouncyCastle c# 版本中使用基于密码的加密(PBE)定义 示例代码. 代码中的问题是密码在这里是固定的.我必须在运行时生成密码. 存储密钥的步骤: 生成 ..
发布时间:2021-11-24 14:58:29 C#

如何使用 .net 中的充气城堡使用 RSA/ECB/OAEPWithSHA256AndMGF1Padding 进行加密?

网络上有关于如何使用 Java 中的充气城堡库来使用 RSA/ECB/OAEPWithSHA256AndMGF1Padding 进行加密的示例(示例显示在 分解 RSA/ECB/OAEPWITHSHA-256ANDMGF1PADDING).然而,C# 中的充气城堡库似乎偏离了 Java 库,因为它更明确(因此需要更多步骤),我无法弄清楚如何使其适用于上述算法. 如果有人可以将代码示例放在一起 ..
发布时间:2021-11-24 14:47:57 C#