Skip to content

Commit

Permalink
Fix: crypot key len error
Browse files Browse the repository at this point in the history
  • Loading branch information
zijiren233 committed Dec 26, 2023
1 parent aea386b commit e23cadd
Show file tree
Hide file tree
Showing 3 changed files with 14 additions and 6 deletions.
4 changes: 2 additions & 2 deletions internal/model/vendorBackend.go
Original file line number Diff line number Diff line change
Expand Up @@ -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 {
Expand All @@ -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
Expand Down
8 changes: 4 additions & 4 deletions internal/model/vendorRecord.go
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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 {
Expand Down Expand Up @@ -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
Expand All @@ -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 {
Expand Down
8 changes: 8 additions & 0 deletions utils/crypto.go
Original file line number Diff line number Diff line change
Expand Up @@ -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
}

0 comments on commit e23cadd

Please sign in to comment.