Merge remote-tracking branch 'origin/dev' into dev

This commit is contained in:
Vanessa 2022-12-04 23:30:56 +08:00
commit 391e5ec5fb

View file

@ -145,7 +145,6 @@ func InitRepoKeyFromPassphrase(passphrase string) (err error) {
}
util.PushMsg(Conf.Language(136), 3000)
if err = os.RemoveAll(Conf.Repo.GetSaveDir()); nil != err {
return
}
@ -153,12 +152,21 @@ func InitRepoKeyFromPassphrase(passphrase string) (err error) {
return
}
salt := fmt.Sprintf("%x", sha256.Sum256([]byte(passphrase)))[:16]
key, err := encryption.KDF(passphrase, salt)
if nil != err {
logging.LogErrorf("init data repo key failed: %s", err)
return
var key []byte
base64Data, base64Err := base64.StdEncoding.DecodeString(passphrase)
if nil == base64Err {
// 改进数据仓库 `通过密码生成密钥` https://github.com/siyuan-note/siyuan/issues/6782
logging.LogInfof("passphrase is base64 encoded, use it as key directly")
key = base64Data
} else {
salt := fmt.Sprintf("%x", sha256.Sum256([]byte(passphrase)))[:16]
key, err = encryption.KDF(passphrase, salt)
if nil != err {
logging.LogErrorf("init data repo key failed: %s", err)
return
}
}
Conf.Repo.Key = key
Conf.Save()