On Fri, 25 Apr 2014 19:06:31 +0000, brad clawsie wrote: > hi everyone. > > I'm trying to symmetrically encrypt some text using the openssl > bindings. My code compiles and fails silently. Clearly there is > something very wrong with it - it could be my novice D skills, or my > misuse of the openssl binding. > > auto chunk = new ubyte[](16); > foreach(ref x; chunk) x = uniform!"[]"(ubyte.min, ubyte.max); > AES_KEY wctx; > AES_set_encrypt_key(chunk.ptr,128,&wctx); > > string s = "virident"; > ubyte[] b; > b = cast(ubyte[]) s; > ubyte[] e; > AES_encrypt(b.ptr,e.ptr,&wctx); > ubyte[] d; > AES_decrypt(e.ptr,d.ptr,&wctx); > writefln("%s",d); > > > Any clues? I am a D novice, so any spoonfeeding you could provide would > be helpful :) > > thanks! > Brad
It doesn't look like you're allocating space for `e` or `d`, e.g. `auto e = new ubyte[](256);`, so those arrays have a length of 0, in which case the encrypt/decrypt functions are just trashing their way through memory.