是否可以计算文件';使用Javascript的SHA1 ID?
如果在发布表单之前可以这样做,那么我就不必将文件上传到服务器上了……要做到这一点,您必须将文件的二进制信息加载到JavaScript中。这是不可能的是否可以计算文件';使用Javascript的SHA1 ID?,javascript,sha1,Javascript,Sha1,如果在发布表单之前可以这样做,那么我就不必将文件上传到服务器上了……要做到这一点,您必须将文件的二进制信息加载到JavaScript中。这是不可能的 但是在JavaScript中实现SHA1。不,您不能使用JavaScript从本地计算机访问文件 您必须先将其上载到服务器,然后检查文件的校验和。不是本机的,不是,这是个坏主意。文件中的每个字节都必须通过Javascript加载到内存中,您需要一种方法将其加载到内存中 如果你必须这样做,并且你已经有办法将文件的二进制信息放入你的脚本中,那么你就可以
但是在JavaScript中实现SHA1。不,您不能使用JavaScript从本地计算机访问文件
您必须先将其上载到服务器,然后检查文件的校验和。不是本机的,不是,这是个坏主意。文件中的每个字节都必须通过Javascript加载到内存中,您需要一种方法将其加载到内存中
如果你必须这样做,并且你已经有办法将文件的二进制信息放入你的脚本中,那么你就可以使用第三方脚本了,例如。使用SHA1是可能的,尽管性能不是最好的 对于任何超过几百KB的内容,您必须运行一些基准测试,并确定它是否确实是一个可行的解决方案 有关良好的实现,请参阅(passpack和许多操作系统项目都使用它) 编辑:
正如其他人已经回答的那样,实际获取文件内容可能是一件完全不同的事情-因此,除非您使用Google Gears或Adobe AIR之类的工具,否则这几乎是不可能的。实际上,您现在可以读取客户端文件的内容,只要在文件上传字段中选择,并且您正在使用Firefox。请参见阵列。然后,您确实可以将其散列,尽管它可能相当慢
有关示例和紧凑的SHA-1实现,请参阅。您可以使用Java小程序来实现这一点。我从未使用过任何一个,但是有相当多的Java上传小程序。哈希算法本身在Java中可用,可以通过Java.security.MessageDigest访问。如果客户机没有可用的Java插件,您可以故障恢复到服务器上的常规上载和哈希
附带说明:根据您对文件进行哈希处理的原因,您可能希望在上传后在服务器上重新对其进行哈希处理,而不是信任客户端。可以使用HTML5文件界面读取本地文件:
然后您可以使用Crypto.js之类的库来完成对读取文本的哈希。第二个链接的可能副本被破坏。与sha1的固定链接:@JohnFeminella thx供您评论:您知道这些家伙是如何计算SHA的吗: