You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@shindig.apache.org by jo...@apache.org on 2011/05/10 01:08:01 UTC

svn commit: r1101263 - /shindig/trunk/features/src/main/javascript/features/shindig.sha1/sha1.js

Author: johnh
Date: Mon May  9 23:08:01 2011
New Revision: 1101263

URL: http://svn.apache.org/viewvc?rev=1101263&view=rev
Log:
shindig.sha1.update(String) support.


Modified:
    shindig/trunk/features/src/main/javascript/features/shindig.sha1/sha1.js

Modified: shindig/trunk/features/src/main/javascript/features/shindig.sha1/sha1.js
URL: http://svn.apache.org/viewvc/shindig/trunk/features/src/main/javascript/features/shindig.sha1/sha1.js?rev=1101263&r1=1101262&r2=1101263&view=diff
==============================================================================
--- shindig/trunk/features/src/main/javascript/features/shindig.sha1/sha1.js (original)
+++ shindig/trunk/features/src/main/javascript/features/shindig.sha1/sha1.js Mon May  9 23:08:01 2011
@@ -181,6 +181,16 @@ shindig.sha1 = (function() {
    * @param {number=} opt_length is # of bytes to compress.
    */
   function update(bytes, opt_length) {
+    if (typeof(bytes) === 'string') {
+      // convert Unicode to UTF-8 bytes
+      bytes = unescape(encodeURIComponent(bytes));
+      var byteArray = [];
+      for (var i = 0, maxi = bytes.length; i < maxi; ++i) {
+        byteArray.push(bytes.charCodeAt(i));
+      }
+      bytes = byteArray;
+    }
+
     if (!opt_length) {
       opt_length = bytes.length;
     }