统一前缀

This commit is contained in:
Quan guanyu 2025-09-29 09:20:11 +08:00
parent a83ad6b5ae
commit 5c7f06b218

View File

@ -265,20 +265,20 @@ func (hd *BaseDrbg) setSecurityLevel(securityLevel SecurityLevel) {
// Destroy 对 GM/T 0105-2021 B.2、E.2 对内部状态进行清零处理 // Destroy 对 GM/T 0105-2021 B.2、E.2 对内部状态进行清零处理
// 内部状态组成为 {V,C, reseed_counter, last_reseed_time,reseed_interval_in_counter, reseed_interval_in_time} // 内部状态组成为 {V,C, reseed_counter, last_reseed_time,reseed_interval_in_counter, reseed_interval_in_time}
// 内部状态组成为 {V,Key, reseed_counter, last_reseed_time,reseed_interval_in_counter, reseed_interval_in_time} // 内部状态组成为 {V,Key, reseed_counter, last_reseed_time,reseed_interval_in_counter, reseed_interval_in_time}
func (cd *BaseDrbg) Destroy() { func (hd *BaseDrbg) Destroy() {
setZero(cd.v) setZero(hd.v)
cd.seedLength = 0 hd.seedLength = 0
for i := 0; i < 3; i++ { for i := 0; i < 3; i++ {
// 使用原子操作防止编译器优化 // 使用原子操作防止编译器优化
atomic.StoreUint64(&cd.reseedCounter, 0xFFFFFFFFFFFFFFFF) atomic.StoreUint64(&hd.reseedCounter, 0xFFFFFFFFFFFFFFFF)
atomic.StoreUint64(&cd.reseedCounter, 0x00) atomic.StoreUint64(&hd.reseedCounter, 0x00)
atomic.StoreUint64(&cd.reseedIntervalInCounter, 0xFFFFFFFFFFFFFFFF) atomic.StoreUint64(&hd.reseedIntervalInCounter, 0xFFFFFFFFFFFFFFFF)
atomic.StoreUint64(&cd.reseedIntervalInCounter, 0x00) atomic.StoreUint64(&hd.reseedIntervalInCounter, 0x00)
// 将 reseedIntervalInTime 设置内存屏障,防止编译器优化 // 将 reseedIntervalInTime 设置内存屏障,防止编译器优化
cd.reseedIntervalInTime = time.Duration(1<<63 - 1) hd.reseedIntervalInTime = time.Duration(1<<63 - 1)
runtime.KeepAlive(&cd.reseedIntervalInTime) runtime.KeepAlive(&hd.reseedIntervalInTime)
cd.reseedIntervalInTime = time.Duration(0) hd.reseedIntervalInTime = time.Duration(0)
cd.reseedTime = time.Now() hd.reseedTime = time.Now()
} }
} }