我试图使用通过POST方法从应用程序发送的密钥来加密字符串。POST方法发送加密密钥。但脚本无法正常工作帮帮我。使用C#进行POST加密和解密的方法使用C#
回答
它不起作用的原因是你的填充是错误的。 PKCS7是重复填充长度的字节值(即,如果填充2个字节,则为00000010 00000010)。它不是字符串值“0202”,看起来没有任何php函数可以正确执行此操作,所以我会使用不需要填充的操作模式。 OFB被c#和php支持。
你不能使用固定的IV。对于cbc模式,对于OFB来说,它是相当不安全的,它完全不安全。使用mcrypt_create_iv每次获得一个新的随机数。然后,当您发送它时,只需将IV添加到密文(不需要加密)即可。需要注意的是,您可能已经遇到的一个问题是,php使用字符串,而C#使用byts作为IV,并且即使您现在也可能无法获得正确的转换。我可能会使用十六进制和函数来转换/从那里只是为了确保。第二,当人们篡改数据时,您需要使用某些东西来检测,否则他们可能会通过底层加密库中的错误代码/计时问题读取密文。 Hmacs运行良好,并且支持here for php和c#。 HMAC你的IV +密文消息并在其前面输出。另一方面,在相同的数据上运行c#等价函数,然后比较HMAC值。如果他们是一样的,那么你的安全,如果不是,拒绝。
Thanks.I'm不是专家在加密或PHP.Can请给我一个例子 – techno 2012-04-16 14:58:00
如果你只是想加密数据当您发送它时,请使用HTTPS/TLS。应该更容易,更安全 – imichaelmiers 2012-04-16 17:37:11
号我不能这样做。 – techno 2012-04-17 11:39:46
- 1. 使用C++进行加密和解密
- 2. 目标c和C#之间使用AES128进行加密/解密
- 3. 使用AES进行Objective-C加密并使用PHP解密
- 4. 使用AES加密C并使用Python进行解密
- 5. 如何使用rsa c仅公钥进行加密和解密#
- 6. 在C++中使用IO文件进行加密和解密
- 7. 在C#中使用MD5CryptoServiceProvider进行加密和解密
- 8. 加密与C++和WinCrypt(RSA算法)库和解密使用C#
- 9. PgP加密和解密使用BouncyCastle c#
- 10. 无法使用使用Java加密的Obj-C对AES数据进行解密
- 11. 解密使用Objective-C与Java进行AES加密的数据
- 12. 如何使用加密/解密使用post(JSON)方法发送加密数据?
- 13. C#库使用AES进行加密/解密
- 14. 使用OpenSSL进行AES-256/CBC加密并在C#中解密
- 15. AES:使用CCCrypt()方法和使用C#解密加密,输出是错误
- 16. 使用字典进行加密/解密
- 17. 使用DataProtection.DataProtector加密/解密c#
- 18. 使用密钥文件进行加密,使用密码进行解密
- 19. 使用简单的替换密码进行加密和解密
- 20. 使用随机生成的密钥进行加密和解密?
- 21. 使用Java进行AES加密并使用Javascript进行解密
- 22. 使用PGP进行加密并使用GPG进行解密
- 23. Rijndael使用Java加密,然后使用C#和EnterpriseLibrary解密4.1
- 24. 需要使用PEM密钥进行加密和解密
- 25. java使用密钥对进行加密和解密?
- 26. 使用objective-c加密和解密密码
- 27. 使用C#进行加密从这些PHP代码中进行AES加密和解密
- 28. 在javascript中加密并在C#中使用AES算法进行解密
- 29. 使用密码进行字符串加密/解密c#Metro风格
- 30. 使用DES和密码进行加密
“不能正常工作”是如何体现的?你有错误吗?结果是否错误? *结果如何*错了? – deceze 2012-04-15 08:52:32
@cillosis请参阅编辑 – techno 2012-04-15 09:21:57
@deceze请参阅编辑 – techno 2012-04-15 09:35:44