2012-12-21 18 views
6

Próbuję użyć skrótu md5 załącznika, który umieściłem na CouchDB, ale nie mogę zrozumieć, jakiego formatu używa.Co to jest format załącznika md5 załącznika załącznika CouchDB?

{ 
"_id":"ef467479af422db0c388fa00b3000d40", 
"_rev":"3-6d1015e7d25103180817136eefa9f942", 
"_attachments":{ 
    "foo":{ 
     "content_type":"application/octet-stream", 
     "revpos":2, 
     "digest":"md5-yDbs1scfYdqqLpxyFb1gFw==", 
     "length":1952913,"stub":true } 
    } 
} 

Że md5 nie jest w systemie szesnastkowym, ale nadal jest w ASCII, jak z niego korzystać?

Odpowiedz

7

Część podsumowania po przedrostku md5- wygląda tak, jak w formacie Base-64.

Podczas analizowania w JavaScript funkcja atob może z powrotem przekształcić ją w dane binarne.

Przyjmując powyższe jest poprawne wtedy odpowiednikiem szesnastkowym to:

c8 36 ec d6 c7 1f 61 da aa 2e 9c 72 15 bd 60 17 
+0

To było to, dziękuję, teraz jestem w stanie z niego skorzystać. Przyjmuję twoją odpowiedź JAK NAZWA –

+0

BTW, który jest zainteresowany, jak uzyskać bas64 md5 w java: [link] (http://stackoverflow.com/questions/3479067/how-to-decode-with-messagedigest-base64) –

0

Dla każdego, kto chce pracować z formatem skrótu używanego przez CouchDB korzystających nodejs można włączyć base64 zakodowane strawienia w „normalnym” ciąg szesnastkowy usuwając „md5-” prefiks, a następnie wykonaj:

new Buffer('yDbs1scfYdqqLpxyFb1gFw==', 'base64').toString('hex') 

Aby przejść na drugą stronę i utworzyć ciąg digest od wartości hex:

new Buffer('c836ecd6c71f61daaa2e9c7215bd6017', 'hex').toString('base64') 
Powiązane problemy