移除字段加密硬编码主密钥,改为 FIELD_ENCRYPTION_KEY 注入。 保留 FIELD_ENCRYPTION_LEGACY_KEY 透明回退旧密文,新写入统一使用主密钥;生产环境校验主密钥和 legacy 密钥长度、占位符及相等关系,并统一生产环境判断口径。 补充配置与旧密文兼容回归测试。
28 lines
524 B
Go
28 lines
524 B
Go
package withdrawal
|
|
|
|
import (
|
|
"hfb_sys/backend/internal/modules/wallet"
|
|
"hfb_sys/backend/pkg/crypto"
|
|
|
|
"gorm.io/gorm"
|
|
)
|
|
|
|
type Repository struct {
|
|
db *gorm.DB
|
|
walletRepo *wallet.Repository
|
|
encryptor crypto.Encryptor
|
|
}
|
|
|
|
func NewRepository(db *gorm.DB, walletRepo *wallet.Repository, encryptor crypto.Encryptor) *Repository {
|
|
if encryptor == nil {
|
|
encryptor = &crypto.MockEncryptor{}
|
|
}
|
|
return &Repository{
|
|
db: db,
|
|
walletRepo: walletRepo,
|
|
encryptor: encryptor,
|
|
}
|
|
}
|
|
|
|
// 用户创建提现申请
|