PHP和Javascript之间的加密/解密

时间:2011-07-07 21:15:49

标签: php javascript encryption

我希望扩展到这个问题之外: Obfuscating POST variables between Javascript & PHP

我想出了这个解决方案:http://pastebin.com/YuAAZTLi

它的工作时间是95%,但是5%我无法真正处理。很难真正基于两个不同服务器的时间。用变量发送腐烂太容易破解。

我需要的东西每次都有希望改变,因为我不希望HTTP POST请求被复制。什么加密方法在javascript和PHP之间可以互换,允许md5类型加密。其中

4500看起来像Dusfh7sfSFJf78dfns8和4501之类的东西,比如JF7Fhene7fdHfdshf6d ..没什么相似的,即使它们是1位数。

允许外部图书馆,但请确保链接php和javascript对应。

2 个答案:

答案 0 :(得分:1)

只需使用SSL。几乎所有东西都支持它,安全问题已经得到了广泛的解决。设置有点棘手,但有关于如何在那里进行操作的大量信息;即使是证书也不再贵了。

答案 1 :(得分:1)

这有点特定于处理用户登录的情况,但我在this answer和提问者ran with it中提出了一个协议,并编写了一个HTTP-sniffer-resistant PHP-to-JavaScript登录表单实施

该计划的要点:

  
      
  • 生成随机现时值;这有助于防止重播攻击。
  •   
  • 将nonce值和密码salt发送到浏览器   与其余的登录表单。      
        
    • 您正在将密码存储在salted中   和散列形式,对吗?
    •   
  •   
  • 当用户输入密码时,请在表单上计算脚本   并发送回哈希(hash(密码,盐),nonce)。
  •   
  • 当服务器收到表单提交时,让它计算哈希值(storedSaltedPassword,nonce)并验证它是否等于提交的   值。      
        
    • 保留nonce值   服务器;不要相信客户   回复你,或你的重播   保护已经消失。
    •   
  •   
     

这个计划的弱点在于   密码哈希在数据库中   在某种意义上是密码等价的;   虽然它可能不可行   提取用于的原始密码   产生那些哈希,知识   存储的哈希就足够了   冒充您网站上的用户。