Files
ag_tools/types/rsa.go
T

44 lines
654 B
Go

package types
import (
"fmt"
"archgrid.xyz/ag/toolsbox/encryption/rsa"
)
type RSAKeyBits string
const (
RSA1024 RSAKeyBits = "1024"
RSA2048 RSAKeyBits = "2048"
)
func (r *RSAKeyBits) String() string {
return string(*r)
}
func (r *RSAKeyBits) Set(s string) error {
switch s {
case "1024", "2048":
*r = RSAKeyBits(s)
return nil
default:
return fmt.Errorf("不支持的RSA密钥长度:%s", s)
}
}
func (r *RSAKeyBits) Type() string {
return "RSAKeyBits"
}
func (r RSAKeyBits) IntoRSAKeyLength() rsa.KeyLength {
switch r {
case RSA1024:
return rsa.RSA1024
case RSA2048:
return rsa.RSA2048
default:
return rsa.RSA2048
}
}