12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- <!DOCTYPE html>
- <html>
- <!--
- Copyright 2011 The Closure Library Authors. All Rights Reserved.
- Use of this source code is governed by the Apache License, Version 2.0.
- See the COPYING file for details.
- -->
- <head>
- <title>goog.crypt.BlobHasher</title>
- <script src="../base.js"></script>
- <script>
- goog.require('goog.crypt');
- goog.require('goog.crypt.BlobHasher');
- goog.require('goog.crypt.Md5');
- </script>
- <link rel="stylesheet" href="css/demo.css">
- </head>
- <body>
- <h1>goog.crypt.BlobHasher</h1>
- <table>
- <tr><td>File:</td><td>
- <input type="file" onchange="computeMD5(this.files[0]);">
- <input type="button" value="Abort" onclick="abort();">
- </td></tr>
- <tr><td>MD5:</td><td><div id="output" style="font-family:courier new,fixed" /></td></tr>
- </table>
- <script>
- var hashFn = new goog.crypt.Md5();
- var blobHasher = new goog.crypt.BlobHasher(hashFn);
- var startTime = 0;
- function computeMD5(file) {
- goog.events.listen(blobHasher, goog.crypt.BlobHasher.EventType.COMPLETE,
- function() {
- var hash = goog.crypt.byteArrayToHex(blobHasher.getHash());
- var time = goog.now() - startTime;
- display(hash + ' (' + time/1000 + 's)');
- });
- goog.events.listen(blobHasher, goog.crypt.BlobHasher.EventType.ABORT,
- function() {
- display('Aborted');
- });
- display('Computing...');
- startTime = goog.now();
- blobHasher.hash(file);
- }
- function abort() {
- blobHasher.abort();
- }
- function display(message) {
- document.getElementById('output').innerHTML = message;
- }
- </script>
- </body>
- </html>
|