Security 跨平台使用哪种密码

Security 跨平台使用哪种密码,security,encryption,cross-platform,Security,Encryption,Cross Platform,我有多个应用程序与一个集中式Oracle数据库一起工作 这些应用程序针对以下平台: iPhone 安卓 Windows(XP、Vista和7) Linux 苹果操作系统 Web应用程序(ASP.NET、PHP和JSP) 我想知道我应该使用哪种密码来确保我的所有加密数据对于我的所有应用程序都是可读的(解密的) 例如3DES或Rijndael256或TWOFISH256?您应该能够在您提到的所有目标平台上实现这些密码 至于使用哪种密码,我建议使用Rijndael(AES),因为它已经受到了很多关

我有多个应用程序与一个集中式Oracle数据库一起工作

这些应用程序针对以下平台:

  • iPhone
  • 安卓
  • Windows(XP、Vista和7)
  • Linux
  • 苹果操作系统
  • Web应用程序(ASP.NET、PHP和JSP)
我想知道我应该使用哪种密码来确保我的所有加密数据对于我的所有应用程序都是可读的(解密的)


例如3DES或Rijndael256或TWOFISH256?

您应该能够在您提到的所有目标平台上实现这些密码

至于使用哪种密码,我建议使用Rijndael(AES),因为它已经受到了很多关注,并且有着可靠的安全记录。

为您提到的所有密码提供了JS实现

您提到的所有操作系统都直接或通过mcrypt支持所有这些密码


这就把问题简化为观点化:因此,我的观点是——不要(从硬代码的意义上)对这些密码进行标准化,而是投入时间惩罚来开发您的应用程序和协议,让它们能够与使用的密码握手。通过这种方式,您现在可以用速度换取安全性,并对密码学(或密码分析)的发展持开放态度。

所有标准密码都是跨平台的。你应该选择一个安全的(不是3DES)密码来满足你的需要。这几乎是一个意见问题,但我会使用Rijndael。@polymonent:相反;这使得主动攻击者能够强制使用最脆弱的可用密码@SLaks-是,但仅当服务器的配置未更新以防止此情况发生时。当密码变得非常脆弱时,可以在服务器端禁用密码,并显示客户端升级其软件的请求。@完全愚蠢的实现不是这个想法的错。正如前面指出的,必须由服务器命令允许哪些密码。我也看不出,如果发现一个硬编码的密码不安全,它将如何运行得更好;双方都必须有一个密码黑名单。我再一次看不到,硬编码算法将如何改变这一点,请详细说明!