   "Return an opener for a Record type."
   [r]
   (str (record-name r) "{"))
+
+(defn hash-key [data]
+  (let [d (goog.crypt.Md5.)]
+    (.update d (crypt/stringToByteArray (str data)))
+    (crypt/byteArrayToHex (.digest d))))
 
 ;; ---------------------------------------------------------------------
 ;; View helpers

  [data {:keys [entry-class key-class val-class]}]
  (into-array
    (for [[k v] data]
      (dom/li #js {:key (str [k v])}
        (dom/div #js {:className (str "entry " entry-class)
                      :style #js {:position "relative"}}
          (dom/span #js {:className (str "key " key-class)

   [om.dom :as dom :include-macros true]
   [clojure.string :as string]
   [cljs.reader :as reader]
   [goog.object :as object]
   [goog.crypt :as crypt]
   goog.crypt.Md5))

(enable-console-print!)

