Fix: crypot key len error

This commit is contained in:
zijiren233 2023-12-26 12:18:12 +08:00
parent aea386b624
commit e23cadd20c
3 changed files with 14 additions and 6 deletions

View File

@ -65,7 +65,7 @@ type BackendUsedBy struct {
}
func (v *VendorBackend) BeforeSave(tx *gorm.DB) error {
key := []byte(v.Backend.Endpoint)
key := utils.GenCryptoKey(v.Backend.Endpoint)
var err error
if v.Backend.JwtSecret != "" {
if v.Backend.JwtSecret, err = utils.CryptoToBase64([]byte(v.Backend.JwtSecret), key); err != nil {
@ -91,7 +91,7 @@ func (v *VendorBackend) BeforeSave(tx *gorm.DB) error {
}
func (v *VendorBackend) AfterSave(tx *gorm.DB) error {
key := []byte(v.Backend.Endpoint)
key := utils.GenCryptoKey(v.Backend.Endpoint)
var (
err error
data []byte

View File

@ -48,7 +48,7 @@ type AlistVendor struct {
}
func (a *AlistVendor) BeforeSave(tx *gorm.DB) error {
key := []byte(a.UserID)
key := utils.GenCryptoKey(a.UserID)
var err error
if a.Host, err = utils.CryptoToBase64([]byte(a.Host), key); err != nil {
return err
@ -63,7 +63,7 @@ func (a *AlistVendor) BeforeSave(tx *gorm.DB) error {
}
func (a *AlistVendor) AfterSave(tx *gorm.DB) error {
key := []byte(a.UserID)
key := utils.GenCryptoKey(a.UserID)
if v, err := utils.DecryptoFromBase64(a.Host, key); err != nil {
return err
} else {
@ -94,7 +94,7 @@ type EmbyVendor struct {
}
func (e *EmbyVendor) BeforeSave(tx *gorm.DB) error {
key := []byte(e.UserID)
key := utils.GenCryptoKey(e.UserID)
var err error
if e.Host, err = utils.CryptoToBase64([]byte(e.Host), key); err != nil {
return err
@ -106,7 +106,7 @@ func (e *EmbyVendor) BeforeSave(tx *gorm.DB) error {
}
func (e *EmbyVendor) AfterSave(tx *gorm.DB) error {
key := []byte(e.UserID)
key := utils.GenCryptoKey(e.UserID)
if v, err := utils.DecryptoFromBase64(e.Host, key); err != nil {
return err
} else {

View File

@ -68,3 +68,11 @@ func GenCryptoKey(base string) []byte {
}
return key
}
func GenCryptoKeyWithBytes(base []byte) []byte {
key := make([]byte, 32)
for i := 0; i < len(base); i++ {
key[i%32] ^= base[i]
}
return key
}