This commit is contained in:
tzagim
2024-05-21 20:08:12 +03:00
committed by GitHub
parent ff6d9f23e3
commit 0cf7c09ed5
85 changed files with 31569 additions and 479 deletions

View File

@@ -0,0 +1,25 @@
package cbcutil
import (
"bytes"
"testing"
)
func TestEncryptDecrypt(t *testing.T) {
key := []byte("MySecretSecretSecretSecretKey123")
plain := []byte("Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.")
cipher, err := Encrypt(key, nil, plain)
if err != nil {
t.Fail()
}
p, err := Decrypt(key, nil, cipher)
if err != nil {
t.Fail()
}
if !bytes.Equal(plain, p) {
t.Fail()
}
}

View File

@@ -9,9 +9,8 @@ package keys
import (
"go.mau.fi/libsignal/ecc"
"go.mau.fi/util/random"
"golang.org/x/crypto/curve25519"
"go.mau.fi/whatsmeow/util/randbytes"
)
type KeyPair struct {
@@ -31,7 +30,7 @@ func NewKeyPairFromPrivateKey(priv [32]byte) *KeyPair {
}
func NewKeyPair() *KeyPair {
priv := *(*[32]byte)(randbytes.Make(32))
priv := *(*[32]byte)(random.Bytes(32))
priv[0] &= 248
priv[31] &= 127

View File

@@ -0,0 +1,38 @@
// Copyright (c) 2024 Tulir Asokan
//
// This Source Code Form is subject to the terms of the Mozilla Public
// License, v. 2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/.
package waLog
import (
"fmt"
"github.com/rs/zerolog"
)
type zeroLogger struct {
mod string
zerolog.Logger
}
// Zerolog wraps a [zerolog.Logger] to implement the [Logger] interface.
//
// Subloggers will be created by setting the `sublogger` field in the log context.
func Zerolog(log zerolog.Logger) Logger {
return &zeroLogger{Logger: log}
}
func (z *zeroLogger) Warnf(msg string, args ...any) { z.Warn().Msgf(msg, args...) }
func (z *zeroLogger) Errorf(msg string, args ...any) { z.Error().Msgf(msg, args...) }
func (z *zeroLogger) Infof(msg string, args ...any) { z.Info().Msgf(msg, args...) }
func (z *zeroLogger) Debugf(msg string, args ...any) { z.Debug().Msgf(msg, args...) }
func (z *zeroLogger) Sub(module string) Logger {
if z.mod != "" {
module = fmt.Sprintf("%s/%s", z.mod, module)
}
return &zeroLogger{mod: module, Logger: z.Logger.With().Str("sublogger", module).Logger()}
}
var _ Logger = &zeroLogger{}