php中的简单快速双向加密

时间:2010-12-12 06:56:11

标签: php encryption cryptography

我正在为我的网站提供一些MP3文件,这些文件的大小超过1 MB。我怀疑其他人是否链接到该文件,因为我的CDN收费上升,访问量没有太大差异。

我正在寻找一个简单的加密,这样我就可以每3-4小时更改一次文件名。我对快速双向算法比加密强度更感兴趣。有人可以建议为此目的进行快速加密。

使用mcrypt快速加密吗?

3 个答案:

答案 0 :(得分:2)

我不清楚为什么要为此加密。听起来你只想要一种方法来生成一个不可预测的链接,除非你。获取密钥,时间戳和文件标识符的HMAC应该为您执行此操作。然后,您可以将HMAC作为文件名的一部分,以及时间戳和文件标识符。通过再次计算HMAC并根据URI中的那个来检查它,在PHP脚本中验证它们。

HMAC不是加密,它实际上是身份验证/完整性,但在使用合理哈希时是安全的。通常情况下,我建议使用SHA-256或更好,但对于你正在做的事情,MD5听起来足够安全。查找HMAC-MD5代码应该不是问题。除非您生成LOTS(每小时数百万)链接,否则MD5速度不会成为问题。

(在这种情况下,身份验证/完整性意味着HMAC只能由拥有您的密钥以及公共时间戳和文件标识符的人生成。)

答案 1 :(得分:1)

我会使用md5来改变哈希值(间隔时间)=> http://phpsec.org/articles/2005/password-hashing.html

答案 2 :(得分:1)

你可以使用m1的sha1哈希(或其他)加密日期(或类似的东西)。加密有效期至0:00的字符串的日期。使用sha1(日期('Y-m-d-H'))每小时获取一个新密钥。

有人使用http://domain.com/& ^ CYFG& ^%U ^ GU ^ VUVUIVB / filename.zip访问该文件,并检查& ^ CYFG& ^%U ^ GU ^ VUVUIVB是否等于sha1(日期(' YMD-H'))。如果没有,则链接已经过时了。