| 1234567891011121314151617181920 |
- package xray
- import "github.com/xtls/xray-core/proxy/shadowsocks_2022"
- // Shadowsocks2022KeyBytes is the key size a Shadowsocks-2022 method takes, or 0
- // for any other method, whose password is free-form.
- func Shadowsocks2022KeyBytes(method string) int {
- cipher, err := shadowsocks_2022.GetCipherMethod(method)
- if err != nil {
- return 0
- }
- return cipher.KeySaltLength
- }
- // ValidShadowsocks2022Key reads key the way the core does: base64, else the raw
- // string, and either way exactly the method's key size.
- func ValidShadowsocks2022Key(method, key string) bool {
- _, err := shadowsocks_2022.ParseKey(key, Shadowsocks2022KeyBytes(method))
- return err == nil
- }
|