我正面临这个问题如何解码node.js中的SQLdeveloper连接密码。 给我的问题Oracle密码会定期更改,这会破坏我的所有脚本。获得它的唯一方法是连接列表。
答案 0 :(得分:0)
似乎我找到了解决方案:
// deps
var crypto = require('crypto');
// ex: decryptPassword('05ca35ad6f01a2e2135be97c74b669cef7');
function decryptPassword(passwd){
var buffer_data = new Buffer(passwd, 'hex');
if(buffer_data[0] != 5){
throw "the first byte is not 5";
}
var buffer_key = buffer_data.slice(1, 9);
var buffer_passwd = buffer_data.slice(9);
var iv = new Buffer(8);
for(var i = 0; i < 8; ++i) iv[i]=0;
var decipher = crypto.createDecipheriv('des-cbc', buffer_key, iv);
var result = decipher.update(buffer_passwd, 'hex');
result += decipher.final('utf8');
return result;
}