
Product
Announcing Socket Fix 2.0
Socket Fix 2.0 brings targeted CVE remediation, smarter upgrade planning, and broader ecosystem support to help developers get to zero alerts.
github.com/WqyJh/confcrypt
Encrypt your sensitive data in config file and decrypt it at runtime.
go get -u "github.com/WqyJh/confcrypt"
Use any random string as your config key
.
Use EncryptString
to encrypt all of your sensitive data one by one.
var (
key = "12345678"
)
func TestEncrypt(t *testing.T) {
plain := "hello"
encrypted, err := confcrypt.EncryptString(plain, key)
assert.NoError(t, err)
t.Logf("encrypted: '%s'", encrypted)
decrypted, err := confcrypt.Decrypt(encrypted[4:], key)
assert.NoError(t, err)
t.Logf("decrypted: '%s'", decrypted)
}
func TestDecrypt(t *testing.T) {
encrypted := "ENC~tSbCaeksELsWsw9+eXADFTRONqOTiPkL6q5yRW8Wp4Um"
decrypted, err := confcrypt.Decrypt(encrypted[4:], key)
assert.NoError(t, err)
t.Logf("decrypted: '%s'", decrypted)
}
Replace all of your sensitive data in your config with the encrypted string, which should start with ENC~
.
And use Decrypt
to decrypt the encrypted string without ENC~
prefix.
It's recommended to use Decode
to decrypt all encrypted string fields in a struct.
For example, assume you have config struct as below:
type AppConfig {
Id string
Secret string
}
type Config struct {
User string
Password string
App AppConfig
}
You load it from config file and got:
cfg := Config{
User: "foo",
Password: "ENC~xxxxxxxxxxxxxxxxxxxxx",
App: AppConfig{
Id: "bar",
Secret: "ENC~yyyyyyyyyyyyyyyyyyyy",
},
}
Then use Decode
to decrypt the encrypted fields including Password
and Secret
.
result, err := confcrypt.Decode(&cfg, key)
// result.Password is decrypted
// result.App.Secret is decrypted
Released under the MIT License.
FAQs
Unknown package
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Product
Socket Fix 2.0 brings targeted CVE remediation, smarter upgrade planning, and broader ecosystem support to help developers get to zero alerts.
Security News
Socket CEO Feross Aboukhadijeh joins Risky Business Weekly to unpack recent npm phishing attacks, their limited impact, and the risks if attackers get smarter.
Product
Socket’s new Tier 1 Reachability filters out up to 80% of irrelevant CVEs, so security teams can focus on the vulnerabilities that matter.