解码nodejs中的sqldeveloper连接密码

时间:2014-07-09 16:10:36

标签: node.js passwords oracle-sqldeveloper

我正面临这个问题如何解码node.js中的SQLdeveloper连接密码。 给我的问题Oracle密码会定期更改,这会破坏我的所有脚本。获得它的唯一方法是连接列表。

1 个答案:

答案 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;
}