2

自動ログイン機能を備えたrdpファイルを生成したいので、暗号化されたパスワードを生成してrdpファイルに入力する必要があります。

暗号化ツールには、jna オープン ソースの Crypt32Util を使用しています (DPAPI DataProtector も試しましたが、結果は同じです)。しかし、結果は正しくありません...

http://www.remkoweijnen.nl/blog/2007/10/18/how-rdp-passwords-are-encrypted/で指摘されているように、文字列はユニコードである必要があるため、getBytes で「UTF-16LE」を使用します。 (私も getBytes() と getBytes("UTF-8") を使用しようとしましたが、誰も動作しません...)

私に光を投げかけてくれて本当にありがとう、ありがとう!

コードは次のとおりです。

public String pwdEncrypt(String password){
    byte[] pwdBytes = null;
    try{
        pwdBytes = password.getBytes("UTF-16LE");
    }catch(Exception e){
        e.printStackTrace();
    }

    byte[] encryptedPwd = Crypt32Util.cryptProtectData(pwdBytes);       

    return String.valueOf(Hex.encodeHex(encryptedPwd));
}   
4

1 に答える 1