又拍云 表单api 作为不可信用户上传的方式 是否安全

应用的情景是这样的,因为服务器本身带宽很小,可是又有大量的图片上传请求,所以想让用户直接将图片直接上传至又拍,而不通过web服务器中转

又拍云提供的方式是表单api,表单api主要包含两个参数

policy:一个是对于上传图片的描述和上传处理规则,经过base64编码,这是一个公开字符串,大概有几百个字符吧
sign: md5加盐后的一个字符串,即 md5 ( plicy + 密码 ),可是这里的“盐”是公开的,密码比较随机吧应该

在这样的情况下,破解出密码的难度是多大,或者说破解的难度会随着公开的盐的长度又怎么样的变化

或者说如果采用表单api进行这样的应用,会不会很容易密码就被破解

谢谢!

阅读 6.6k
3 个回答

你的这个例子,由于md5原文足够长,因为彩虹表肯定是搞不了,想要破解的话只能是硬算,因此破解难度取决于md5的可靠性和你密码的复杂度。

就目前来说,md5虽然有坑(可以找出碰撞),但是还不足以直接“碰撞”找出你的密码。所以最后还是看密码的复杂度。

根据最新的消息,一个由大小写字母和数字组成的8位密码仅需要愈200万亿次运算,即20分钟就能完全穷举这样的MD5加密密码。即使算上标准键盘上所有标点符号 (95^8),也仅需10小时就能穷举完毕。据此可以估计,如果你采用16个字符以上,混合大小写、数字、特殊符号,以这个系统来说所需的攻击时间至少需要7.57×10^12年,在目前人类掌握的计算能力下是搞不定的。

同问,如果想让用户直接上传文件到又怕云,恐怕还是需要官方出个上传浏览器插件,毕竟我们的网站代码没法读取用户的电脑文件。(必须上传到服务器以后才可获取文件内容,js没有本地IO的api)

crypt单行加密的破解还是比较麻烦的(支持md5和des混淆等加密方式),虽然md5已经被破解了,但是估计不会有什么人费那么大的劲来破解攻击你吧。可以结合业务安全需要来做权衡,个人认为比较安全的。

28位大小字母、数字、特殊字符,木有问题的。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
logo
又拍云问答
子站问答
访问
宣传栏