我需要生成一个唯一的IV (Initialization Vector)
标头。
IV SHALL 长度为96位,由年份组成(16位,0到 65535),当前时间(64位,今年纳秒)和计数器(16位)生成96位IV。
如何在CGI bash script
?
答案 0 :(得分:1)
在y2.sh中:
#!/bin/bash
d2b() {
printf "%0${2}s\n" $(bc <<< "obase=2;$1")|tr ' ' '0'
}
counter=1
eval "$(date +'firstday=%Y-01-01 now=%s nano=%N year=%Y')"
midnight=$(date -d "$firstday 0" +%s)
seconds=$((now - midnight))
header=$(d2b $year 16)$(d2b $seconds$nano 64)$(d2b $counter 16)
echo header: $header
运行它:
$ ./y2.sh
header: 000001111110000000000000011000100101000110110001011001011100011000011100010000010000000000000001