|
|
1
4
假设您有一种安全的方式来共享密钥(无论是RSA加密、通过ssh或https链接进行检索,还是通过安全电话线呼叫其他开发人员),那么任何主要的现代加密(如@ed haber提到的aes)都是合适的。我会附议他的爱神建议。应该有PHP、VB、Ruby等库。 但是,请记住,如果没有“双向通信”,则必须找到一种通道外方法,以便安全地获取加密方的对称密钥。 |
|
|
2
3
如果您的意思是第三方不可能解密数据,那么您将希望使用非对称加密算法,如RSA。这将是第三方用您的公钥加密数据,然后只有您才能用您的私钥解密数据,而您不能公开这些数据。对于您提到的所有语言,都应该有RSA的实现。 如果您不关心第三方是否可以解密数据,那么AES就是解决问题的方法。您将拥有一把与第三方共享的钥匙。此密钥用于加密和解密。 |
|
|
3
2
我将使用AES进行批量数据加密,使用RSA加密AES密钥。 如果数据足够小,那么只需使用RSA加密整个过程。 |
|
|
4
2
我认为这是一个很好的解决办法。我要做的是让您的应用程序发布一个用于获取公共RSA密钥的API。当我第三方想给你发东西的时候,它会得到公共密钥。然后,它生成一个会话密钥来使用块密码(即aes)进行实际加密,并通过使用公钥加密来将密钥发送给您。您可以用您的私钥解密会话密钥。然后,第三方用AES(使用您也发布的填充方案)加密它要发送给您的数据,并将其发送给您。您可以使用会话密钥对其进行解密。 上面的方法有一些问题。由于您没有发送任何信息(除了发布公钥之外),因此无法控制如何生成会话密钥。这意味着第三方可以使用非常不安全的方式来生成会话密钥,而您永远不会知道。第二个问题是,每个想向您发送数据的人都必须以与您相同的方式为AES填充数据。所以你必须确保每个人都协调。第二个问题不大,但第一个问题可能是一个问题,特别是如果您不太信任第三方,从一个好的加密安全随机数生成器生成真正好的会话密钥。 |
|
|
5
1
您可以非常容易地实现自己的基于XOR密钥的位加密。通过一点思考和独创性,您可以想出一些更适合您的应用程序的东西。 下面是一个PHP示例:
|
|
|
6
1
ColdFusion具有加密和解密功能,能够处理一系列算法和编码,包括上面推荐的AES。 信息在: http://www.cfquickdocs.com/cf8/?getDoc=encrypt#Encrypt 快速示例代码:
此库提供了类似的功能
PHP
:
还有Java、Python、Ruby和其他…
|
|
|
7
0
听起来RSA是你的算法。 |
|
|
8
0
为什么不通过HTTPS公开服务器?这样,任何可以处理HTTPS的客户机都可以安全地使用服务。 |