问题标签 [rijndaelmanaged]

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 投票
1 回答
1750 浏览

c# - CryptoStream 实例关闭时抛出异常

我有一个使用 RijndaelManaged Cipher 的 DecryptString 函数。它在 99.999% 的时间都可以工作,但偶尔会引发“IndexOutOfRangeException”异常,并显示“索引超出数组范围”的消息。当它试图关闭 finally 块中的 cryptoStream 时。

当它停止工作时,它将停止工作20分钟左右,然后重新开始工作,没有明显的解释。我确实有一个线索是它只是

0 投票
2 回答
2350 浏览

c# - 指数数组的边界之外。Rijndael 加密

在花时间阅读本文之前,请参阅下面的自我回答。问题是输入无效。


当我尝试解密一些字符串时,它会抛出这个异常:

在调试下它会在这一行抛出异常:

我认为当要解密的字符串太大时才会出现这个问题,因为当我尝试加密和解密像“ Hi there I am X-Ware ”这样的短字符串时,它工作正常

有什么建议么 ?!

PS我写了一条评论给你看第94行//这是第94行

0 投票
1 回答
586 浏览

c# - 输出无效

我有一个 PHP 程序,它将 PDF 文件加密为 .xxx 文件,此输出正在由一个 C# 程序读取,该程序将这个 .xxx 文件解密回 PDF 文件。

我的问题是,当我打开由 C# 解密的文件时,PDF 阅读器告诉我文件已损坏.. 当我在 PHP 中加密纯文本并在 C# 上解密时,我得到了我加密的文件.. 所以问题只出现在 PDF 文件中,或者换句话说,它出现在BINARY文件中

有什么建议么 ?!

笔记:

  1. 在 PHP 中,我使用 mcrypt 扩展 Rijndael 算法 CBC PKCS7 填充(填充是手动完成的)
  2. 在 C# 中,我使用 RijndaelManaged 类来加密和解密数据

编辑

这是我在 PHP 中使用的加密方法:

这是C#中的解密方法:

以下是我如何在 C# 中调用解密以及如何编写输出:

0 投票
1 回答
1502 浏览

.net - RijndaelManaged Cryptostream 将文件从磁盘解密到内存中

我有一个库,它使用与下面的类代码相同的逻辑,但是当它解密文件时,它会将其解密到光盘上,并提供删除或不删除加密版本的选项。我正在尝试添加一个选项以将文件解密到内存中,以便我可以将文件捕获为 byte() 并将字节发送到服务。我显然可以将文件解密到磁盘上,读取文件流,将其转换为字节(),删除解密版本(因为我必须对磁盘上的文件进行加密)......一遍又一遍地创建删除文件,可能会导致磁盘碎片等,所以我只想将文件解密到内存中。无论如何,这成功地将文件解密为 memorystream 变量,但是当我将字节放入文件查看器时,它告诉我文件格式无法识别。

这是我到目前为止的代码:

更新:

我添加了 cryptostream.FlushFinalBlock()

这仍然不起作用......我觉得它只是没有一直阅读流到最后。

更新:

这是我的“加密”方法,使用与解密相同的 IV 和密钥方法......

最终更新:

这是成功的解密文件到内存代码:

0 投票
1 回答
770 浏览

asp.net - 填充无效且无法移除

例外:来源:mscorlib 消息:填充无效且无法删除。

堆栈跟踪:

我们的机器键也没有设置为自动。所以有人可以帮忙。谢谢

0 投票
1 回答
391 浏览

javascript - .Net RijndaelManaged 找不到 Javascript

我在我的 C# WCF 中使用以下加密/解密:

现在,我正在尝试使用 Java 脚本来适应,想要在我的网络中加密数据并能够解密我的 WCF 中的数据,我尝试使用此脚本但不起作用,我可以在其中找到 Javascript 或 JS & .净样本 ?

得到以下错误:{“要解密的数据长度无效。”}

谢谢。

0 投票
1 回答
1110 浏览

enterprise-library - 一起使用 RijndaelManaged、Enterprise Library 和 Autofac

我正在使用 Autofac 作为容器时新尝试加密应用程序块。

因此,我使用的是 nuget 包EntLibContrib 5.0 - Autofac Configurator

使用 DPAPI Symmetric Crypto Provider,我能够很好地加密/解密数据。

但是,使用 RijndaelManaged,我收到一个 ActivationException:

Microsoft.Practices.ServiceLocation.ActivationException:尝试获取 ISymmetricCryptoProvider 类型的实例时发生激活错误,密钥“RijndaelManaged”---> Autofac.Core.Registration.ComponentNotRegisteredException:请求的服务 'RijndaelManaged (Microsoft.Practices.EnterpriseLibrary.Security. Cryptography.ISymmetricCryptoProvider)' 尚未注册。为避免此异常,请注册组件以提供服务,使用 IsRegistered() 检查服务注册,或使用 ResolveOptional() 方法解决可选依赖项。

根据此处的说明:http: //msdn.microsoft.com/en-us/library/ff664686 (v=pandp.50).aspx 我正在尝试将 CryptographyManager 注入 MyService。

我的引导代码如下所示:

App.config 为 symmetricCryptoProviders 定义了以下信息:

有谁有这种技术组合的经验?

经过一些测试,我相信我可能会使用 Unity 容器,因为我对 IOC 容器没有偏好,除了我使用的任何东西都应该与 ASP.NET MVC3 和 http 托管的 WCF 服务很好地集成。

然后我的引导代码变得更加简单:

var container = new UnityContainer() .AddNewExtension<EnterpriseLibraryCoreExtension>(); container.RegisterType<IMyService, MyService>();

0 投票
3 回答
25258 浏览

c# - 从加密流读取到流的末尾

我在使用下面的代码时遇到了一些问题。我在需要加密的临时位置有一个文件,此函数会加密该数据,然后将其存储在“pathToSave”位置。

检查时似乎没有正确处理整个文件 - 我的输出中缺少一些位,我怀疑这与 while 循环没有在整个流中运行有关。

顺便说一句,如果我尝试在 while 循环之后调用 CryptStrm.Close() ,我会收到一个异常。这意味着如果我尝试解密文件,我会收到文件已在使用错误!

尝试了所有通常的方法,我在这里查看了类似的问题,任何帮助都会很棒。

谢谢

编辑:

我假设我的问题与加密有关。我的解密可能是罪魁祸首

0 投票
3 回答
6862 浏览

c# - 要解密的数据长度无效

我一直在研究尝试使用 Rijndael C# 库解密时遇到的问题。我尝试了几种已在此处发布的解决方案,但似乎都没有工作或适用。

问题:我正在尝试解密从硬件发送的 HTTP 请求。但是,我没有将 HTTP 请求转换为与我的解密方法匹配的正确字节数(我认为这是问题所在?)。

这是我的代码:

和解密方法:

在 srDecrypt.ReadToEnd() 上,我收到标题中所述的错误消息。

我对此很陌生,所以我不确定我哪里出错了。任何意见,将不胜感激。谢谢~!

0 投票
3 回答
1193 浏览

c# - RijndaelManaged 无法解密

代码可在以下网址找到:http: //pastebin.com/3Yg5bHra

我的问题是,当我解密时,什么都没有返回。没有任何东西被解密。

它在 111-114 行附近的某个地方出错。cryptoStream (csDecrypt) 是空的,尽管我将数据放入内存流 (msDecrypt)

编辑 Nudier 想出了一个解决方案