问题标签 [rijndael]
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.
xml - 单独文件中的 XML 加密/解密
我需要加密一个 XML 文件,将其发送到另一个位置并在那里解密。正如您从下面的代码中看到的那样,我使用的是相同的密钥,但它不起作用(现在我只是使用两个本地文件)。
我得到的错误如下:
填充无效且无法移除。
在 Decrypt.aspx 中的这一行:Dim xReader As XmlTextReader
我认为它可能在实际加密阶段导致错误,例如文件未正确保存。
加密.aspx
解密.aspx
为了可能的利益,这里是我正在使用的 XML 创建代码:
php - PHP加密代码转换为ColdFusion
我有一点我想在 ColdFusion 中做的 PHP。
我认为这只是
但是我没有真正的方法可以确定,而且感觉不太对,所以我想知道那里是否有人足够好,可以为我指明正确的方向。
所以 MCRYPT_RIJNDAEL_256 实际上是指块大小而不是加密强度。加密强度仍然是 256,因为密钥和盐是在 PHP 中使用在 sha-256 散列的值生成的。
这是我现在的加密调用:
encrypt(arguments.messageXML,instance.key,"AES/CBC/PKCS5Padding","Base64",ivSalt)
不幸的是,这会爆炸,因为 ivSalt 的长度是 32 字节(256 位),而 AES 只需要 16 字节的 iv salt。从这里看,ColdFusion/Java 中用于 AES 的最大块大小似乎是 16 字节(128 位)。我似乎看不到如何获得 256 位块大小。任何帮助将不胜感激。
c# - C# AES Rijndael - 检测无效密码
我正在使用 Rijndael 加密程序中的一些敏感数据。
当用户输入错误的密码时,大多数时候CryptographicException
会抛出 a 消息“填充无效,无法删除。”。
然而,在非常小的概率下,CryptStream 不会抛出错误密码的异常,而是返回一个错误解密的流。换句话说,它解密为垃圾。
知道如何检测/防止这种情况吗?我能想到的最简单的方法是在加密时在消息的开头放置一个“幻数”,并在解密后检查它是否仍然存在。
但如果有更简单的方法,我很想听听!
delphi - Rijndael 加密。第一个字符很奇怪
我正在使用的代码(XE):
它工作得很好,除了当我尝试解密字符串时,我得到:
$C#$C'Ç'#$B'ÛW'#$1F'Ø‹™Ç'#$8D'Ž'#$8D'!'mydata
所以前几个字母会得到非常奇怪的字符。其余的解密就好了!在这里发现了类似的问题,但没有解决方案。提前致谢!
c# - 如何解密使用 RijndaelManaged 加密的文件
我可以加密图像文件。但无法解密该文件。
而 ((readLen = cryptStrm.Read(bs, 0, bs.Length)) > 0)
谁能猜出哪一部分是错的?我编写的代码如下。
当我阅读加密文件时,我根本无法阅读。当我使用 vss 看到 cryptstream 的属性时,称为长度和位置的 CryptoStream 属性具有“NotSupportedException”。
我浪费了很多时间来解决这个问题.....请帮助我......
加密[位图>>加密文件]
解密[加密文件>>文件]
加密
解密
c# - C# RijndaelEnhanced 使用 php mcrypt 解密
我有一个反编译的 C# .net 应用程序。Tis 应用程序用于登录密码加密: http ://www.obviex.com/samples/Sample.aspx?Source=EncryptionWithSaltCS&Title=Encryption%20With%20Salt&Lang=C%23
C# 代码
我有通行证和四。
我如何解密php中的密码?我已经尝试了 mcrypt_decrypt() 的几种变体。
有人有想法吗?
友好的问候和非常感谢。
c# - 加密函数在 windows 和 unix 上给出不同的输出
我有一个用 C# 编写的加密工具,它以字符串作为输入。当我在我的 windows 机器上运行编译的 exe 文件时,我得到的输出与我在远程 UNIX 服务器上使用单声道运行它时不同。
这是一个例子:
视窗:
Unix:
我什至尝试将输入值放入脚本中,然后再次编译并运行它,我得到了相同的结果。
解密函数位于远程 Web 服务上,并使用硬编码的密钥和 IV 值(我正在使用这些值进行加密),解密输出:
这是加密函数:
这是解密函数(我无法对此进行更改):
c# - Php 从 C# .NET RIJNDAEL 256 解密字符串
修复。
无论出于何种原因,Php 将 GET 变量中的 + 转换为空格
--
我正在尝试解密在 C#.NET 中正在解密的字符串。
代码的结果各不相同,有几次最终的字符串有一些部分被解密,其余部分是随机字符。
大多数情况下,“解密”字符串都是随机字符,我也尝试了一些 Php 函数来删除 PKCS7 填充,但它们都没有解决问题。
我在网站上查看了几个类似的问题,但没有一个有帮助。
C#
php:
php输出:
IV: WzsMlG39tfCGuX2EQM3vq8CoqGA xC0nW jICls8Cno=
键:b0dJN2c6cklVUX1qUGlFfGMweXRKbH5fSEMuXjAgfQo=
加密的字符串: oLxa21fxfQGg0EJ5rwMjEzMblvcaTq0AInDAsD88wAkNeLqOdon0ukLjz49Hpp36KPTKcTGkj1f7EPYPAAbuADnr3Ff0zpptZkx2d22VRbHrMgj QLF9vDxQRT3er3UAXsAfKKTyW8qeSIgrzACFLX3yoro / bzWic rt7ED7y0jZ7a1Hci3GMz / 4KhwaftarbV QQWStJlSOqdxAdmtRRe84Vi3085S6um51bNrh5QzGRH PcpucfqaTb3junfO9g67j2JUQaM / Tj1EGnv6oX3wATR / LuWyhnhrCH86u10I =
密钥大小: 32
块大小: 32
密码: Rijndael-256
iv 大小: 32
结果:
/ci�����^/�c�g�������s��c�(��
原始字符串 (JSON): {"user":"jsmith","firstName":"John","lastName":"Smith","phone":"12223334444.5555","email":"john.smith@domain. com","address":"123 Some Street","address2":"apt 456","city":"Some City","state":"LA","zip":"55555"}
c# - .NET System.Security.Cryptography 密钥派生问题 (AES/Rijndael)
使用 System.Security.Cryptography.Rijndael 或 System.Security.Cryptography.Aes 类中的 GenerateKey()、CreateEncryptor(Byte[], Byte[]) 或 CreateEncryptor() 方法时,如何生成密钥?
- 它是否遵循RFC-2898中使用的方法?我只能假设它确实遵循 RFC-2898,因为 Rfc2898DeriveBytes 也是 System.Security.Cryptography 命名空间中的一个类。