问题标签 [encryption-symmetric]
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.
ruby - 使用相同参数加密文本时,OpenSSL 命令行和 Ruby OpenSSL 库有所不同
注意:使用 OpenSSL 对文本进行对称加密。
我制作了一个 Ruby 脚本来测试 OpenSSL,但我发现我得到了不同的结果。密钥、iv 和密码是相同的,所以我希望结果是相同的。但他们不是。这是我的脚本:
结果是:
只是一个奇怪的结果。知道是什么导致数据不同吗?
c# - Java 加密和 C# 解密问题
我有一个 C# 中的 DLL,用于加密和解密字符串文本(一些基本的东西),但现在我需要在 Java 中实现相同的加密方法,以便某些应用程序可以加密数据并将其发送到库。
我不能修改 C# 代码,因为它已经在生产中,但 Java 没有,所以请,任何建议都必须在 Java 端完成。
基本上我正在尝试在 Java 中实现相同的 C# 加密方法。这是我的 C# 代码:
注意:密码、盐等值显然只是参考。
这是我的 java 代码,它加密数据,但与 C# 加密代码不同,所以当我尝试使用 C# 库对其进行解密时,它会抛出异常:“要解密的数据长度无效”
编辑 1:正如 Jon Skeet 所建议的,我在 Java 代码中修复了最终字节数组转换为 String 的问题。
java - .NET 和 Java 之间的对称加密
我正在使用 3rd 方平台来创建登录页面,这是我使用这个特定平台的业务需求。
在他们的页面上,当调用我网站上的资源时,我可以加密数据并通过请求参数将其发送到我的服务器。这是通过 AES 对称加密完成的。
我需要指定密码、salt(必须是十六进制值)和初始化向量(但必须是 16 个字符)。
他们的后端是一个 .NET 平台。我知道这一点,因为如果我指定的 IV 长于预期的基础异常是:
System.Security.Cryptography.CryptographicException: Specified initialization vector (IV) does not match the block size for this algorithm.
Source: mscorlib
例如,在他们的最后,我指定:
EncryptSymmetric("Hello World","AES","P4ssw0rD","00010203040506070809", "000102030405060708090A0B0C0D0E0F")
其中输入分别为:纯文本、算法、密码短语、盐和 IV。
我得到了价值:eg/t9NIMnxmh412jTGCCeQ==
如果我尝试使用 JCE 或 BouncyCastle 提供程序最终解密它(相同的算法、密码短语、盐和 IV,具有 1000 次迭代):2rrRdHwpKGRenw8HKG1dsA==
这是完全不同的。
我在网上查看了许多关于如何解密 AES 的不同 Java 示例。一个这样的演示如下:http: //blogs.msdn.com/b/dotnetinterop/archive/2005/01/24/java-and-net-aes-crypto-interop.aspx
如何解密使用密码短语、salt 和 IV(由 Java 平台上的 .NET 框架生成)的 AES 对称加密?
如果我可以在 java 端生成相同的签名并进行比较(如果事实证明这里真正生成的是哈希),我不一定需要能够解密加密字符串的内容。
我在生产中使用 JDK 1.5,所以我需要使用 1.5 来执行此操作。
作为旁注,Java 中的许多示例需要在 java 端指定重复计数,但在 .NET 端不需要。是否有我需要在与默认 .NET 输出匹配的 java 端指定的标准迭代次数。
python - 使用 CBC 模式使用 PyCrypto 进行 AES 256 加密 - 有任何弱点吗?
我有以下 python 脚本来使用 AES 256 加密/解密数据,您能否告诉我代码中是否有任何内容可能使加密变弱,或者是否有任何我没有考虑到使用 CBC 进行 AES 256 加密的内容模式?我已经测试了脚本,它工作正常,它正在加密和解密数据,但只是想要第二个意见。谢谢。
c# - 从 SQL Server 2008 R2 解密数据
我需要一些帮助来将此过程(见下文)转换为 Entity Framework 4.0。有没有人对如何移植这个有任何建议。目标项目包括;Silverlight 4、WCF RIA 服务、EF 4.0、SQL Server 2008 R2。
我唯一的要求是它需要放在托管代码中,而不是存储过程中。
请让我知道我应该如何设置它,谢谢!
java - 打包和解包加密密钥失败 (javax.crypto)
我有以下测试代码来加密和解密字符串。如果我在 test() 中省略了我的密钥的包装和解包代码,它工作正常,但是当我尝试包装我的密钥,然后再次解包并将其用于解密时,它会失败并且我没有得到“测试”作为结果解密字符串返回,但改为“�J��”。
有人看到我在包装和展开时出现的错误吗?谢谢。
以及上面代码中调用的两个辅助方法:
c# - .NET 中 AES (RijndaelManaged) 的性能问题
我打算用RijndaelManaged加密大数据(大约 3-5 MB) 。这样做有任何性能问题\建议吗?
谢谢
c# - AES 及其密码模式
我正在尝试使用 AES 进行加密/解密,然后我尝试了 CBC 和 ECB 模式,我从这三个模式中得到了相同的加密输出!这是怎么回事?
这可能没有错,但我只是不知道会发生什么。如果它们都产生相同的密码,那么拥有模式有什么意义?是时间复杂度还是性能复杂度?
你能解释一下 AES 和它的密码模式之间的区别吗?什么是默认密码模式?或者如果你能给我任何参考因为 MSDN 不够清楚
谢谢你
ssl - 套接字通信的对称密钥加密而不是 ssl 握手可以提高连接速度吗?
我需要在服务器和 iOS 客户端之间实现 tcp 套接字通信。我正在考虑使用对称密钥加密来保护通过通道发送的数据。我将在我认为应该安全的应用程序中存储对称密钥。(不会有任何钥匙握手)
但是,我不确定通过 ssl 套接字进行对称密钥加密是否会显着提高连接速度?
我的要求是用户启动应用程序时应尽快建立连接。谁能指出我正确的方向?
c# - 输入数据不是一个完整的块
场景:一个对称密钥,每个用户都有自己的 IV,文档存储在 NVARCHAR(MAX) 字段中。当我尝试解密文件时,我得到:
输入数据不是一个完整的块。
提前致谢。
存储文档