【问题标题】:salt and hash encryption/decryption for links链接的盐和哈希加密/解密
【发布时间】:2011-12-25 09:22:33
【问题描述】:

好的,所以我有一些链接将通过 php 为我的网站上的一些广告生成。现在我遇到的问题只是我了解 md5 是如何工作的,它不是加密,它不能以最稀有的形式重新呈现.....我有一些 mysql id,我想用作选择女巫的数据查询数据库的广告,但我不希望我的用户有权访问广告 ID .....所以我希望有人能告诉我如何在这种情况下使用哈希/盐方法..... 请注意:我一直在通过这个网站寻找这个答案,我一次又一次地看到人们说盐/哈希不是加密我理解,但如果链接被散列,那么尝试破解我的网站并不像他们那样简单如果它们只是简单的整数。

php 脚本:

<?
function SuperAd($id){
    $sql = mysql_query("SELECT * FROM `ads` WHERE `id`= $id");
    while($ad = mysql_fetch_array($sql)){
        $title = $ad['title'];
        // here is where i want to encrypt 
        $adlink = $ad['id'];
    }
}
?>

【问题讨论】:

  • 你的问题一点都不清楚。您要对什么执行散列?什么时候?
  • 我不明白攻击者如何仅通过知道广告 ID 就可以入侵您的网站?
  • @xqus 其实很简单:只需使用1; drop ... 的 id ^^
  • @pst: 不确定是否严重... 检查声誉 hmmz...
  • @pst 是的。我怎么能错过那个;)

标签: php hash salt saltedhash


【解决方案1】:

添加盐只是对散列的更安全的补充。哈希只是一种方式。听起来你想要某种方式来加密你的$ad['id'],这样用户就不会看到:

/viewad/1/

他们看到了:

/viewad/12lk3jx09c8faf/

对吗?

只需 Google 即可获得一些快速的加密/解密算法。

编辑:这是一个快速的 S.O.可能对您有帮助的问题:

Best way to use PHP to encrypt and decrypt passwords?

【讨论】:

  • 虽然没有使用加密的内在理由...有很多方法可以将外部值映射到内部 ID...使用随机数的方法可以实际上可能比加密“更安全”。
  • 我同意。双向加密似乎是一个更好的选择。如果不是,您还需要将哈希存储在数据库中,然后..您可以只使用 id。
【解决方案2】:

您可以通过使用唯一且不可猜测的行 guid 来解决您的问题,而无需进行哈希处理

【讨论】:

    猜你喜欢
    • 2011-12-06
    • 2013-09-11
    • 1970-01-01
    • 1970-01-01
    • 2010-11-30
    • 2017-03-10
    • 1970-01-01
    • 2013-02-13
    • 1970-01-01
    相关资源
    最近更新 更多