通过阅读文档,
您无法重新设置加密变量的密钥
例如,如果这是 的内容group_vars/all.yaml,我想重新加密所有加密的变量。
key_tab: !vault |
$ANSIBLE_VAULT;1.1;AES256
30333939663734636530386263663437343431353539643366633534366239643763326138653232
3562383132623937346138613833396563653038646165300a623061363063663132373739373031
66623133393239376366383235353332366336386532643637343438653634633734346639636334
3633363032376339340a663531346633623466643163353638303534313937663931633962383637
3637
certs:
- file: client.cert
password: !vault |
$ANSIBLE_VAULT;1.1;AES256
35626163653930386265393064326330393433343763626534373330393432373231633365656534
6237626631326634333963313733356531623239653161370a356666326631663565396633396139
32303962343064343530383364616235343130373935313161353135613539653061363735336337
3636633036313565640a663736613065396262336433653564373161393431636661666134643761
3639
Run Code Online (Sandbox Code Playgroud)
我尝试用一些 bash 命令来做到这一点,但由于缩进,它变得很复杂。
是否有一种自动化的方法来完成此重新密钥?
为什么某些 IPv6 地址在使用时会转换为 IPv4 地址InetAddress.getByName?
例如,我希望这两个地址::f:f:f,::ffff:f:f转换为Inet6Address
然而,这个::ffff:f:f变成Inet4Address
import java.net.InetAddress;
class Main {
public static void main(String[] args) throws Exception {
// Interpreted as IPv6
var address = InetAddress.getByName("::f:f:f");
System.out.println(address); // /0:0:0:0:0:f:f:f
System.out.println(address.getClass()); // class java.net.Inet6Address
// Interpreted as IPv4
address = InetAddress.getByName("::ffff:f:f");
System.out.println(address); // /103.30.217.152
System.out.println(address.getClass()); // class java.net.Inet4Address
}
}
Run Code Online (Sandbox Code Playgroud)