FYI actually I got it working via https://developer.gnome.org/glib/2.48/glib-Data-HMACs.html#g-compute-hmac-for-string
``` GLib.compute_hmac_for_string( ChecksumType.SHA1, secret, str, str.length ); ``` Yet I think the data version should not fail with a core dumped. Best Regards On Wed, Apr 20, 2016 at 1:25 PM, Andrea Giammarchi < andrea.giammar...@gmail.com> wrote: > Thanks Alan, > I've tried them "all" but nothing seems to work: > > ```js > const GLib = imports.gi.GLib; > > // this works > // > https://developer.gnome.org/glib/2.48/glib-Data-Checksums.html#g-compute-checksum-for-data > GLib.compute_checksum_for_data( > GLib.ChecksumType.SHA1, > 'the string', > 'the string'.length > ); > > // this doesn't > // > https://developer.gnome.org/glib/2.48/glib-Data-HMACs.html#g-compute-hmac-for-data > GLib.compute_hmac_for_data( > GLib.ChecksumType.SHA1, > 'secret', > 'secret'.length, > 'the string', > 'the string'.length > ); > ``` > > If I try to create `utf8` strings I have got: > ``` > Error: Unsupported type gint64 for (out caller-allocates) > ``` > so `GLib.utf16_to_utf8` is not usable here. > > Should I file a bug? > > Best Regards > > > > On Wed, Apr 20, 2016 at 4:45 AM, Alan Knowles <a...@roojs.com> wrote: > >> Andrea, >> >> probably worth trying this. >> >> Syntax: >> GLib.compute_hmac_for_string (ChecksumType digest_type, String key, >> guint64 key_len, String str, gint64 length) : String >> >> var out = GLib.compute_hmac_for_string ( >> GLib.Checksum.SHA1, >> 'secret', >> 'secret'.length, >> 'the string', >> 'the string'.length >> ) >> >> The doc's indicate that the last arg can be -1 if a \0 terminated string >> is passed - I can't remember if that occurs by default though. >> >> Otherwise it might be worth messing around with the gir file and changing >> the key into a utf8 string, rather than an array of chars >> >> Regards >> Alan >> >> >> >> >> >> On Tuesday, April 19, 2016 05:19 PM, Andrea Giammarchi wrote: >> >> Hello there, >> I wonder if I'm doing it wrong or if there's actually a bug in either >> GJS or the GLib I'm using. >> >> While it's straight forward to `new GLib.Checksum(GLib.Checksum.SHA1);` >> and then use `.update(data)` and `.get_string()`, it's basically impossible >> to do the same with `GLib.Hmac`. >> >> This is not exposed as constructor, so any attempt to `new GLib.Hmac` >> would fail, and on top of that, any attempt to use >> `GLib.compute_hmac_for_data` fails. >> >> Example: >> ```js >> GLib.compute_hmac_for_data( >> GLib.Checksum.SHA1, >> 'secret', >> 'secret'.length, >> 'generic data content', >> GLib.checksum_type_get_length(GLib.Checksum.SHA1) >> ); >> ``` >> >> I'm not sure there's something wrong in my invoke but I keep having this >> kind of error, no matter how I shuffle those parameters (well, actually in >> some case I also have Segmentation fault (core dumped)) >> >> ``` >> (gjs:7105): GLib-CRITICAL **: g_compute_hmac_for_data: assertion 'length >> == 0 || data != NULL' failed >> null >> ``` >> >> Thanks in advance for any sort of outcome. >> >> Best Regards >> >> >> _______________________________________________ >> javascript-list mailing >> listjavascript-list@gnome.orghttps://mail.gnome.org/mailman/listinfo/javascript-list >> >> >> >> _______________________________________________ >> javascript-list mailing list >> javascript-list@gnome.org >> https://mail.gnome.org/mailman/listinfo/javascript-list >> >> >
_______________________________________________ javascript-list mailing list javascript-list@gnome.org https://mail.gnome.org/mailman/listinfo/javascript-list