假设我们的网站在URL中使用MD5哈希,如下所示:
http://somewebsite.com/XXX/
其中XXX
是MD5哈希。
本网站的内容可能包含敏感信息,如个人数据的交易详情。
此网站没有其他授权,因此如果您有网址,则可以访问该网址。
它有多安全?我的意思是,如果没有人会与任何人分享网址,那么我可以假设没有人会访问它吗?
网页抓取工具需要多长时间来浏览此类网址的所有组合?
我问,因为我正在使用一些网店,以这种方式存储交易详情与个人数据,我说他们不安全,有人可以查看他们的客户敏感数据,但他们不相信。要构建网络抓取工具对我来说很简单,我知道如何做到这一点,但我不知道它会花多少时间来浏览所有组合,也许在商店他们是对的?这不是关于我的网站,我是该商店的最终用户,我需要说服他们他们错了。
答案 0 :(得分:2)
这是“security by obscurity”的示例,应该被视为不安全。
只是为了它的乐趣,让我们再考虑一下。
你说这是哈希。哈哈什么?是否有可能黑客猜测或知道你正在散列什么,并从那里开始猜测?顺便说一句,你如何确保哈希是独一无二的?
当然,MD5哈希值是128位,但如果您要哈希的东西没有128位信息,那么它实际上并没有帮助。也许您正在散列的是一个序列号?在这种情况下,猜测下一个哈希可能很简单。
即便如此,MD5现在被认为已经破解,并且不适合安全使用。有关详细信息,请查看Wikipedia article on MD5。
更重要的是,您创建了这些URL,但是您需要以某种方式将它们发送给用户。你会怎么做?我希望不是一封明确的电子邮件。也许您将它们发布在一个安全的网站上,在正确登录后可以点击链接。哦,等等......不可能没有。
如果您想保密,请妥善保管。需要登录。并使用SSL / TLS,即HTTPS而不是HTTP。