12345678910111213141516171819202122232425262728293031 |
- package checksum
- import (
- "crypto/sha256"
- "encoding/hex"
- "path"
- "github.com/langgenius/dify-plugin-daemon/internal/core/plugin_packager/decoder"
- "github.com/langgenius/dify-plugin-daemon/internal/utils/parser"
- )
- func CalculateChecksum(plugin decoder.PluginDecoder) (string, error) {
- m := map[string]any{}
- if err := plugin.Walk(func(filename string, dir string) error {
- var err error
- m[path.Join(dir, filename)], err = plugin.ReadFile(path.Join(dir, filename))
- if err != nil {
- return err
- }
- return nil
- }); err != nil {
- return "", err
- }
- str := parser.MarshalJsonBytes(m)
- sha := sha256.New()
- sha.Write(str)
- return hex.EncodeToString(sha.Sum(nil)), nil
- }
|