From: Pål Bergström on 1 Jul 2010 10:47 Nate Wiger wrote: > I've just released a new AES gem for Ruby, written in C for speed. > This gem leverages some open source AES C code that has been in use Great. Hopefully what I've been looking for. I've been using Encryptor.encrypt(:value => string , :key => key, :algorithm => 'aes-128-cbc') in a module created on my own. Is your gem faster? I should add that I don't fully understand this thing with encryption and the terminology. Could you explain a bit the key length and 128 bit? Is it always the length as in your example? -- Posted via http://www.ruby-forum.com/.
From: Josh Cheek on 1 Jul 2010 11:44 2010/7/1 Pål Bergström <pal(a)palbergstrom.com> > I should add that I don't fully understand this thing with encryption > and the terminology. Could you explain a bit the key length and 128 bit? > Is it always the length as in your example? > > Empirically yes: require 'rubygems' require 'fast-aes' require 'pp' key , results = String.new , Array.new for char in [*'a'..'z'] + [*'A'..'H'] results << begin FastAES.new key and "Valid: #{key}" rescue => error error end key << char end pp results Definitively (fast_aes.c), still yes: key_bits = strlen(key_data)*8; switch(key_bits) { case 128: case 192: case 256: fast_aes->key_bits = key_bits; memcpy(fast_aes->key, key_data, key_bits/8); /*printf("AES key=%s, bits=%d\n", fast_aes->key, fast_aes->key_bits);*/ break; default: sprintf(error_mesg, "AES key must be 128, 192, or 256 bits in length (got %d): %s", key_bits, key_data); rb_raise(rb_eArgError, error_mesg); return Qnil; }
From: Pål Bergström on 1 Jul 2010 12:12 Josh Cheek wrote: > Definitively (fast_aes.c), still yes: And for saving it in mysql, how do I translate it from binary (?) "garbage" characters (is that how you explain it) to a string? I use Base64.b64encode(fast_aes_string) now. Is there a faster way? -- Posted via http://www.ruby-forum.com/.
|
Pages: 1 Prev: Fast searching of large files Next: WIN32OLE memory leaks |