var createHash = require('create-hash');
module.exports = function evp(password, salt, keyLen) {
keyLen = keyLen/8;
var ki = 0;
var ii = 0;
var key = new Buffer(keyLen);
var addmd = 0;
var md, md_buf;
var i;
while (true) {
md = createHash('md5');
if(addmd++ > 0) {
md.update(md_buf);
}
md.update(password);
md.update(salt);
md_buf = md.digest();
i = 0;
if(keyLen > 0) {
while(true) {
if(keyLen === 0) {
break;
}
if(i === md_buf.length) {
break;
}
key[ki++] = md_buf[i++];
keyLen--;
}
}
if(keyLen === 0) {
break;
}
}
for(i=0;i<md_buf.length;i++) {
md_buf[i] = 0;
}
return key;
};