问题标签 [tripledes]
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.
php - Perl/PHP/ColdFusion 中的 TripleDES
最近出现了一个关于使用 TripleDES 标准将 API 与请求加密字符串以用作令牌的支付处理器连接的问题。我们的应用程序使用 ColdFusion 运行,它有一个加密标签 - 支持 TripleDES - 但是我们得到的结果并不是支付处理器所期望的。
首先,这是支付处理器所期望的结果令牌。
下面是我们使用的 ColdFusion 的片段,以及生成的字符串。
如您所见,这并没有返回我们希望的字符串。为了寻求解决方案,我们放弃了 ColdFusion 进行此过程,并尝试在 PHP 中重现该令牌。
现在我知道各种语言以不同的方式实现加密 - 例如,在过去管理 C# 应用程序和 PHP 后端之间的加密时,我不得不使用填充来让两者交谈,但是我的经验是 PHP 通常在加密标准方面表现良好。
无论如何,转到我们尝试过的 PHP 源代码,以及生成的字符串。
您可以清楚地看到,我们有另一个字符串,该字符串不同于支付处理器预期的字符串和 ColdFusion 生成的字符串。提示头靠墙集成技术。
在与支付处理器进行了多次来回沟通(很多代表说“我们无法帮助解决编码问题,你一定是做错了,阅读手册”),我们终于升级为一个拥有超过几个脑细胞相互摩擦,他们能够退后一步,真正查看和诊断问题。
他同意,我们的 CF 和 PHP 尝试没有得到正确的字符串。在快速搜索之后,他也同意这不一定是我们的来源,而是这两种语言如何实现他们对 TripleDES 标准的愿景。
今天早上走进办公室,我们收到一封电子邮件,里面有一段 Perl 源代码。这是他们直接用于生成预期令牌的代码。
因此,我们有它。三种语言,他们在文档中引用的 TripleDES 标准加密的三种实现,以及三种完全不同的结果字符串。
我的问题是,根据您对这三种语言及其对 TripleDES 算法的实现的经验,您是否能够让它们中的任何两种给出相同的响应,如果是的话,您必须对代码进行哪些调整得出结果?
我知道这是一个非常冗长的问题,但我想为我们必须执行的每个测试阶段提供清晰准确的设置。
稍后我还将对此主题进行更多调查工作,并将发布我对这个问题提出的任何发现,以便其他人可以避免这种头痛。
php - 如何使用 PHP 和 RSA / Triple DES 加密 XML 文档中的字段
我正在为南非的学校开发一个应用程序,该应用程序需要将 XML 格式的数据提交给国家 IT 机构进行统计处理。我目前正在使用 PHP 的DOMDocument
类生成 XML 文件。
我的文件已通过第一阶段验证过程。下一阶段是实现 XML 文件的加密和压缩。压缩是一个简单的 GZip,所以不用担心。
规范文档表明使用了 RSA 加密(我将获得 RSA 密钥以在软件中实现)以及某种形式的对称加密,例如三重 DES(尽管这是一个“示例”,并且任何算法都http://www.w3.org/TR/xmldsig-core
可以实施)。如果我理解正确,则 RSA 加密是对用于实际加密字段的对称密钥进行编码。
规范文档还说“可以对整个文件或某些元素执行 XML 文件的加密”。在这个阶段,我不太确定哪个更容易,所以任何一个的答案就足够了!
我假设,要求是加密 XML 标记的内容而不是名称(如 中所示http://www.w3.org/TR/xmlenc-core/#sec-eg-Element-Content-Character
)。
如果这看起来含糊不清,我深表歉意。这是我目前掌握的所有信息,机构的联系人很高兴地说(VisualBasic .NET)代码示例应该解释一切......如果您想检查此代码示例,欢迎您查看以下 ZIP 文件中的 Word 文档,大约从第 213 页开始。http://www.sita.co.za/doe_lurits/DEVS-00118%20Rev%201.2%2012%20Jan%202009.zip
如果有人可以帮助或指出我正确的方向,我将不胜感激。
c# - 使用 TDES 加密和解密时出现错误数据
我正在用 TDES 加密一个大字符串并尝试解密它。无法理解出了什么问题。当它在解密中执行 READ 功能时,我从加密异常中得到“坏数据”。(我用注释标记了行)
要生成和加密字符串:
解密字符串
测试代码
c# - C# 和 PHP 中的 TripleDES 加密不一样(PKCS7、ECB)?
我已经花了几个小时试图弄清楚这一点,但我就是无法让它发挥作用。我有一个需要在 php 中匹配的 C# 加密例程。我无法更改 C# 版本,这不是一个选项(第 3 方对此很坚定)。
这是 C# 代码:
这是我在 PHP 中提出的最好的:
据我所知,我正在 PHP 端正确处理 PKCS7 填充。我不确定还能尝试什么。
需要注意的一件事是,C# 发生在 Windows 上,而 PHP 发生在 linux 上,不确定是否会有所作为。
c# - c#tripleDESCrypto 从 sql 中保存和检索不起作用
嘿那里,所以在我使用存储过程保存和检索的 msSQL 数据库中。我试图在放置之前加密 c# windows 表单中的一些数据,然后当我将其拉回时当然会对其进行解密。所有加密都在 c# 端处理。我正在使用来自微软的 TripleDESCryptoService 类(内存版本,第二个示例)逐字加密和解密的示例代码。这些值被加密并发送到数据库,但是在检索它时我得到一个“坏数据”错误。加密调用的示例是...
然后将 txt_Last_Name 发送到数据库,我可以看到数据库中有一些东西。在数据库中,姓氏的类型为 varchar(20)
解密调用的示例是...
它在解密函数中炸毁:“csDecrypt.Read(fromEncrypt, 0, fromEncrypt.Length);” 我不明白为什么。我不确定它是否没有正确存储在数据库中,或者我的转换不正确。
如果它意味着什么,进入解密函数的“数据”大小为 16 并且包含非零值,但“byte[] fromEncrypt”是一个大小为 16 的数组,包含全零。
谢谢你的帮助!
c# - 为 TripleDES 密钥 C# 生成随机字节
我需要为 TripleDES 加密生成字节数组。我不想使用.generateKey()
,因为我需要知道密钥中的字节才能将它们传递给另一个应用程序。
感谢您的回复,但我忘了提一件事:字节必须是奇校验。否则我无法从它们生成 TripleDES 密钥。我对奇校验不太熟悉,所以我想必须创建一个字节检查它是否有奇校验;那么如果它确实将它放入数组中,否则不会。
aes - 数据的 DES、三重 DES、AES、河豚加密比较
有没有人比较这些加密算法的优缺点?
c# - 将 C# 解密转换为 Python PyDes
我在将代码从 C# 转换为 Python 时遇到问题。在Martijn 的 C# 博客上,有一个出色的加密/解密程序 [附在下面],但我无法将它直接转换为 python 版本pyDes [下面的示例]
派德:
我修改了原始的 pyDes 以使用 ECB 而不是 CBC。没有一个字符串匹配,我已经走到了尽头。请帮忙!谢谢
web-applications - Encryption and Decryption with randomly generated key?
I'm a j2me programmer. My project is related to sending data to server via HTTP method. I encrypt the data in j2me side using Bouncy Castle (Triple DES). I also maintain the server side coding.
Then in server side received data is decrypted and stored in database.
Here I assuming the key statically in coding itself. In server side and j2me side I use the same key value.
But here is one problem based on requirement: the key is randomly generated not known to user.
In this case if in j2me part encrypt the data with some key then how the server decrypt without knowing the key?
Or there is any other mechanism is there so please help to solve the issues.
Thanks and regards, Sivakumar.J
c# - 需要您对 C# .NET 中的完整三重 DES MAC 的帮助
我的工作需要 .NET 中的完整三重 DES MAC 函数(如 [ISO 9797-1] 中定义为 MAC 算法 1,输出转换为 1,没有截断,并且三重 DES 代替分组密码)
我的问题是我不知道如何在 C#.NET 中实现这个算法
是否有任何建议(或代码片段)可以帮助我实现它(.NET 类和方法)
提前致谢!最好的问候, Hai-Binh LE