如何生成VNC密码?

4

您好,需要使用任何脚本(最好是php,但任何perl都可以)生成vnc密码。

问题在于“vncpasswd”需要交互式用户操作(提示输入密码和确认密码)。

有没有一种方法可以在不提示的情况下生成它?

2个回答

4

From here.

#!/bin/perl

use Crypt::CBC;

my $key = pack("C8", 23, 82, 107, 6, 35, 78, 88, 7);
$cipher = Crypt::CBC->new({
'key'=>$key, 'cipher'=>'DES', 'prepend_iv'=>0, 'regenerate_key'=>0
});

$ciphertext = $cipher->encrypt("This data is hush hush");
$plaintext = $cipher->decrypt($ciphertext);

print "Encrypted: $ciphertext\n";
print "Decrypted: $plaintext\n";

请注意:在加密之前,VNC密码会被截断(或填充空字符)至长度为8。 - ephemient
https://github.com/billchaison/VNCDecryptecho -n d7a514d8c556aade | xxd -r -p | openssl enc -des-cbc --nopad --nosalt -K e84ad660c4721ae0 -iv 0000000000000000 -d -provider legacy -provider default对于openssl 3+,我想。对于低于3或2的版本,请删除提供程序键值对选项。对于加密,请删除-d选项。 - undefined

3

是可以的,文件夹 /.vnc 必须存在,文件权限通常需要进行设置。

所以只需要这样做:

mkdir $HOME/.vnc/

vncpasswd -f > $HOME/.vnc/passwd <<EOF
123456
123456
EOF

chmod 600 $HOME/.vnc/passwd

这帮助我完全自动化启动VNC服务器。 - Appu Sidhardh

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接