cryptography相关内容

如何在 Java 中加密或解密文件?

我想用 java 加密和解密一个文件,我读过这个 url http://www-users.york.ac.uk/~mal503/lore/pkencryption.htm 我有两个文件,即公共安全证书和私人安全证书文件和 private.pem 文件,我复制这些文件并粘贴到当前目录并编写java代码如下,当我运行它时没有执行加密或解密,请看看这个并告诉我哪里出错了 加密代码 File e ..
发布时间:2022-01-10 10:16:30 Java开发

Java - 使用 HMACSHA256 作为 PRF 的 PBKDF2

我的任务是为我们的项目创建一个登录 API,我应该使用带有 HMACSHA256 的 PBKDF2 作为 PRF.使用 MD5 对纯文本密码进行哈希处理,然后将其输入 PBKDF2 以生成派生密钥.问题是,我无法获得与项目文档告诉我的相同的输出. 这是 PBKDF2 的 Java 实现: 公共类 PBKDF2{公共静态字节[]派生密钥(字节[]密码,字节[]盐,整数迭代计数,整数dkLen ..
发布时间:2022-01-10 10:16:25 其他开发

如何在不暴露密码的情况下连接到需要密码的数据库?

我正在创建一个应用程序,我需要连接到一个数据库.数据库需要登录名/密码,因此应用程序可以执行选择和插入等操作. 在应用程序中我需要使用登录名和密码连接到数据库,因此应用程序可以自由地对数据库执行一些任务.我的问题是:如何在不暴露密码的情况下存储和使用密码连接数据库? 我不能简单地使用哈希或加密来存储密码,因为数据库必须识别密码(我认为大多数或所有数据库都必须以纯文本形式接收密码). ..
发布时间:2022-01-10 10:16:18 Java开发

SecureRandom:初始化一次还是每次都需要?

我们的团队正在使用 SecureRandom 生成密钥对列表(SecureRandom 被传递给 KeyPairGenerator).我们无法就使用以下两个选项中的哪一个达成一致: 每次我们需要生成密钥对时都创建一个新实例 初始化一个静态实例并将其用于所有密钥对 哪种方法通常更好,为什么? 添加:我的直觉是第二种选择更安全.但我唯一的论点是基于伪随机性源自当前时间戳的假设的 ..
发布时间:2022-01-10 10:16:11 Java开发

基于密码在javascript中生成RSA密钥对

据我了解,RSA 密钥通常是基于(强)随机生成器生成的. 相反,我想根据密码创建它们. 或者更确切地说是在其哈希上,例如 sha512(sha512(password+salt)+password+pepper) 这需要在客户端用 JavaScript 完成. 有人知道怎么做吗?是否有一个简单的 JavaScript 库可以根据给定的输入确定性地创建 RSA 密钥对? ..
发布时间:2022-01-10 10:16:03 前端开发

可以使用 RSA 加密的数据量有什么限制?

通常建议使用 RSA 加密对称密钥,然后使用对称密钥加密“有效负载". 可以使用 RSA 加密的数据量的实际(或理论上)限制是多少(我使用的是 2048 位 RSA 密钥大小). 特别是,我想知道用(不同的)RSA 公钥加密 RSA 公钥(256 字节)是否安全?我在 Java 中使用 Bouncy Castle 加密库. 解决方案 对于 n 位 RSA 密钥,直接加密(使用 ..
发布时间:2022-01-10 10:15:56 Java开发

如何在 .NET 中加密字符串?

我必须加密/解密 Xml 文件中的一些敏感信息?是的,我可以通过编写自己的自定义算法来做到这一点.我想知道 .NET 中是否已经有内置方法可以做到这一点,以及我总是需要注意哪些方面.. 解决方案 下面是几个使用 .NET 框架加密和解密字符串的函数: public string EncryptString(string plainText){//实例化一个新的 RijndaelManag ..
发布时间:2022-01-10 10:15:36 C#/.NET

使用 RSA 公钥解密使用 RSA 私钥加密的字符串

我知道我可能得到的主要答案是你为什么要这么做?! 不幸的是,尽管我提出了抗议,但我还是不得不这样做,尽管我知道这毫无意义. 我有用 .Net 编写的函数,可以使用私钥解密,使用公钥加密.我还进行了 RSA 签名和验证,并且对我认为这一切是如何工作的有一个合理的理解. 我现在收到一个使用私钥进行 RSA 加密的值,我应该通过使用公钥解密来导出可用值. 我似乎无法弄清楚如何做到 ..
发布时间:2022-01-10 10:15:25 C#/.NET

C# BouncyCastle - 使用公钥/私钥的 RSA 加密

我需要在 C# 中加密数据才能将其传递给 Java.Java 代码属于第 3 方,但我已获得相关来源,因此我决定由于 Java 使用 Bouncy Castle 库,我将使用 C# 端口. 解密工作正常.但是,只有当我使用私钥而不是公钥进行加密时,解密才有效.使用公钥时,解密失败,unknown block type. 显然 RsaEncryptWithPrivate 内部的加密在加密 ..
发布时间:2022-01-10 10:15:09 C#/.NET

对于密码安全素数,我应该使用多少次 Rabin-Miller 迭代?

我正在为 Diffie-Hellman 类型的密钥 p 生成一个 2048 位安全素数,使得 p 和 (p-1)/2 都是素数. 我可以在 p 和 (p-1)/2 上使用多少次 Rabin-Miller 迭代,并且仍然对加密强密钥充满信心?在我所做的研究中,我听说过 1024 位普通素数的 6 到 64 次迭代,所以在这一点上我有点困惑.一旦确定了,如果你生成的是一个安全的素数而不是一个普通 ..
发布时间:2022-01-10 10:15:02 其他开发

Rfc2898/PBKDF2 与 SHA256 作为 C# 中的摘要

我想在 c# 中使用 Rfc2898 来派生密钥.我还需要使用 SHA256 作为 Rfc2898 的摘要.我找到了类 Rfc2898DeriveBytes,但它使用 SHA-1,我看不出有办法让它使用不同的摘要. 有没有办法在 c# 中使用 Rfc2898 和 SHA256 作为摘要(没有从头开始实现它)? 解决方案 查看 Bruno Garcia 的回答. Carsten: ..
发布时间:2022-01-10 10:14:51 C#/.NET

如何在 C# 中使用公钥和私钥加密技术

我想使用公钥/私钥技术加密数据.我的意思是,用接收者的公钥加密,接收者可以用自己的私钥解密. 我该怎么做?您有什么建议或示例代码吗? 解决方案 代码示例: 私有静态字符串_privateKey;私有静态字符串_publicKey;私有静态 UnicodeEncoding _encoder = new UnicodeEncoding();私有静态无效 RSA(){var rsa = ..
发布时间:2022-01-10 10:14:44 C#/.NET

推荐的 Python 加密模块?

我一直在探索 Python 可以使用哪些加密模块,我发现了 3 个:ezPyCrypt、yawPyCrypt 和 KeyCzar(它们实际上支持几种语言,但其中包括 Python).前两个依赖于 PyCrypto 模块. 有没有我错过的选择?在易用性和功能方面是否有明确的领先者,或者它只是归结为一个人的舒适程度? 我目前倾向于 KeyCzar,ezPyCrypt 紧随其后. 我将 ..
发布时间:2022-01-10 10:14:25 Python

Hash 和 MAC(消息验证码)有什么区别?

Hash 和 MAC(消息验证码)有什么区别? 根据它们的定义,它们似乎具有相同的功能. 谁能解释一下有什么区别? 解决方案 主要区别在于概念上:哈希用于保证数据的完整性,而MAC保证完整性和身份验证. 这意味着哈希码是在没有任何外部输入的情况下从消息中盲目生成的:您获得的是可用于检查消息在传输过程中是否有任何更改的东西. MAC 在生成代码时使用私钥作为它使用的哈 ..
发布时间:2022-01-10 10:13:41 其他开发

什么是最佳 scrypt 工作因素?

我正在使用 Java scrypt 库 来存储密码.当我加密事物时,它需要一个 N、r 和 p 值,其文档将其称为“CPU 成本"、“内存成本""和“并行化成本"参数.唯一的问题是,我实际上并不知道它们的具体含义,或者对它们有什么好的价值;也许它们以某种方式对应于 Colin Percival 的原始应用程序 上的 -t、-m 和 -M 开关? 有人对此有什么建议吗?库本身列出了 N = 1 ..
发布时间:2022-01-10 10:13:23 Java开发

JavaScript 未在 HtmlUnit 中正确执行

我目前正在使用 HtmlUnit 开发一些测试.它正在加载一个包含 Braintree.js(他们的表单加密库)的页面.我有一堆正在运行,但我被困在它称为加密的地方.有问题的JS是: (function() {尝试 {var ab = 新的 Uint32Array(32);crypto.getRandomValues(ab);sjcl.random.addEntropy(ab, 1024, " ..
发布时间:2022-01-10 10:13:02 Java开发