Skip to content

Commit

Permalink
Use crypto/sha256 (#29386)
Browse files Browse the repository at this point in the history
Go 1.21 improved the performance of `crypto/sha256`. It's now similar to
`minio/sha256-simd`, so we should just use the standard libs.

https://go.dev/doc/go1.21#crypto/sha256
https://go-review.googlesource.com/c/go/+/408795
multiformats/go-multihash#173
  • Loading branch information
KN4CK3R authored Feb 25, 2024
1 parent ad0a34b commit f79c9e8
Show file tree
Hide file tree
Showing 22 changed files with 22 additions and 32 deletions.
2 changes: 1 addition & 1 deletion go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,6 @@ require (
github.com/mholt/archiver/v3 v3.5.1
github.com/microcosm-cc/bluemonday v1.0.26
github.com/minio/minio-go/v7 v7.0.66
github.com/minio/sha256-simd v1.0.1
github.com/msteinert/pam v1.2.0
github.com/nektos/act v0.2.52
github.com/niklasfasching/go-org v1.7.0
Expand Down Expand Up @@ -230,6 +229,7 @@ require (
github.com/mholt/acmez v1.2.0 // indirect
github.com/miekg/dns v1.1.58 // indirect
github.com/minio/md5-simd v1.1.2 // indirect
github.com/minio/sha256-simd v1.0.1 // indirect
github.com/mitchellh/copystructure v1.2.0 // indirect
github.com/mitchellh/mapstructure v1.5.0 // indirect
github.com/mitchellh/reflectwalk v1.0.2 // indirect
Expand Down
2 changes: 1 addition & 1 deletion models/auth/twofactor.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ package auth
import (
"context"
"crypto/md5"
"crypto/sha256"
"crypto/subtle"
"encoding/base32"
"encoding/base64"
Expand All @@ -18,7 +19,6 @@ import (
"code.gitea.io/gitea/modules/timeutil"
"code.gitea.io/gitea/modules/util"

"github.com/minio/sha256-simd"
"github.com/pquerna/otp/totp"
"golang.org/x/crypto/pbkdf2"
)
Expand Down
2 changes: 1 addition & 1 deletion models/migrations/base/hash.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@
package base

import (
"crypto/sha256"
"encoding/hex"

"github.com/minio/sha256-simd"
"golang.org/x/crypto/pbkdf2"
)

Expand Down
2 changes: 1 addition & 1 deletion models/migrations/v1_14/v166.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@
package v1_14 //nolint

import (
"crypto/sha256"
"encoding/hex"

"github.com/minio/sha256-simd"
"golang.org/x/crypto/argon2"
"golang.org/x/crypto/bcrypt"
"golang.org/x/crypto/pbkdf2"
Expand Down
2 changes: 1 addition & 1 deletion modules/auth/password/hash/pbkdf2.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,12 @@
package hash

import (
"crypto/sha256"
"encoding/hex"
"strings"

"code.gitea.io/gitea/modules/log"

"github.com/minio/sha256-simd"
"golang.org/x/crypto/pbkdf2"
)

Expand Down
3 changes: 1 addition & 2 deletions modules/avatar/hash.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,9 @@
package avatar

import (
"crypto/sha256"
"encoding/hex"
"strconv"

"github.com/minio/sha256-simd"
)

// HashAvatar will generate a unique string, which ensures that when there's a
Expand Down
3 changes: 1 addition & 2 deletions modules/avatar/identicon/identicon.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,10 @@
package identicon

import (
"crypto/sha256"
"fmt"
"image"
"image/color"

"github.com/minio/sha256-simd"
)

const minImageSize = 16
Expand Down
2 changes: 1 addition & 1 deletion modules/base/tool.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ package base

import (
"crypto/sha1"
"crypto/sha256"
"encoding/base64"
"encoding/hex"
"errors"
Expand All @@ -22,7 +23,6 @@ import (
"code.gitea.io/gitea/modules/setting"

"github.com/dustin/go-humanize"
"github.com/minio/sha256-simd"
)

// EncodeSha1 string to sha1 hex value.
Expand Down
3 changes: 1 addition & 2 deletions modules/git/last_commit_cache.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,11 @@
package git

import (
"crypto/sha256"
"fmt"

"code.gitea.io/gitea/modules/log"
"code.gitea.io/gitea/modules/setting"

"github.com/minio/sha256-simd"
)

// Cache represents a caching interface
Expand Down
3 changes: 1 addition & 2 deletions modules/lfs/content_store.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
package lfs

import (
"crypto/sha256"
"encoding/hex"
"errors"
"hash"
Expand All @@ -12,8 +13,6 @@ import (

"code.gitea.io/gitea/modules/log"
"code.gitea.io/gitea/modules/storage"

"github.com/minio/sha256-simd"
)

var (
Expand Down
3 changes: 1 addition & 2 deletions modules/lfs/pointer.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
package lfs

import (
"crypto/sha256"
"encoding/hex"
"errors"
"fmt"
Expand All @@ -12,8 +13,6 @@ import (
"regexp"
"strconv"
"strings"

"github.com/minio/sha256-simd"
)

const (
Expand Down
3 changes: 1 addition & 2 deletions modules/secret/secret.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,12 @@ import (
"crypto/aes"
"crypto/cipher"
"crypto/rand"
"crypto/sha256"
"encoding/base64"
"encoding/hex"
"errors"
"fmt"
"io"

"github.com/minio/sha256-simd"
)

// AesEncrypt encrypts text and given key with AES.
Expand Down
3 changes: 1 addition & 2 deletions modules/util/keypair.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,9 @@ import (
"crypto"
"crypto/rand"
"crypto/rsa"
"crypto/sha256"
"crypto/x509"
"encoding/pem"

"github.com/minio/sha256-simd"
)

// GenerateKeyPair generates a public and private keypair
Expand Down
2 changes: 1 addition & 1 deletion modules/util/keypair_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,12 @@ import (
"crypto"
"crypto/rand"
"crypto/rsa"
"crypto/sha256"
"crypto/x509"
"encoding/pem"
"regexp"
"testing"

"github.com/minio/sha256-simd"
"github.com/stretchr/testify/assert"
)

Expand Down
3 changes: 1 addition & 2 deletions routers/api/packages/chef/auth.go
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ import (
"crypto"
"crypto/rsa"
"crypto/sha1"
"crypto/sha256"
"crypto/x509"
"encoding/base64"
"encoding/pem"
Expand All @@ -26,8 +27,6 @@ import (
chef_module "code.gitea.io/gitea/modules/packages/chef"
"code.gitea.io/gitea/modules/util"
"code.gitea.io/gitea/services/auth"

"github.com/minio/sha256-simd"
)

const (
Expand Down
3 changes: 1 addition & 2 deletions routers/api/packages/maven/maven.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ package maven
import (
"crypto/md5"
"crypto/sha1"
"crypto/sha256"
"crypto/sha512"
"encoding/hex"
"encoding/xml"
Expand All @@ -26,8 +27,6 @@ import (
maven_module "code.gitea.io/gitea/modules/packages/maven"
"code.gitea.io/gitea/routers/api/packages/helper"
packages_service "code.gitea.io/gitea/services/packages"

"github.com/minio/sha256-simd"
)

const (
Expand Down
2 changes: 1 addition & 1 deletion services/lfs/server.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ package lfs

import (
stdCtx "context"
"crypto/sha256"
"encoding/base64"
"encoding/hex"
"errors"
Expand Down Expand Up @@ -33,7 +34,6 @@ import (
"code.gitea.io/gitea/modules/storage"

"github.com/golang-jwt/jwt/v5"
"github.com/minio/sha256-simd"
)

// requestContext contain variables from the HTTP request.
Expand Down
3 changes: 1 addition & 2 deletions services/mailer/token/token.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,14 +6,13 @@ package token
import (
"context"
crypto_hmac "crypto/hmac"
"crypto/sha256"
"encoding/base32"
"fmt"
"time"

user_model "code.gitea.io/gitea/models/user"
"code.gitea.io/gitea/modules/util"

"github.com/minio/sha256-simd"
)

// A token is a verifiable container describing an action.
Expand Down
2 changes: 1 addition & 1 deletion services/webhook/deliver.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ import (
"context"
"crypto/hmac"
"crypto/sha1"
"crypto/sha256"
"crypto/tls"
"encoding/hex"
"fmt"
Expand All @@ -29,7 +30,6 @@ import (
webhook_module "code.gitea.io/gitea/modules/webhook"

"github.com/gobwas/glob"
"github.com/minio/sha256-simd"
)

// Deliver deliver hook task
Expand Down
2 changes: 1 addition & 1 deletion tests/integration/api_packages_chef_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ import (
"crypto/rand"
"crypto/rsa"
"crypto/sha1"
"crypto/sha256"
"crypto/x509"
"encoding/base64"
"encoding/pem"
Expand All @@ -33,7 +34,6 @@ import (
chef_router "code.gitea.io/gitea/routers/api/packages/chef"
"code.gitea.io/gitea/tests"

"github.com/minio/sha256-simd"
"github.com/stretchr/testify/assert"
)

Expand Down
2 changes: 1 addition & 1 deletion tests/integration/api_packages_container_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ package integration

import (
"bytes"
"crypto/sha256"
"encoding/base64"
"fmt"
"net/http"
Expand All @@ -24,7 +25,6 @@ import (
"code.gitea.io/gitea/modules/test"
"code.gitea.io/gitea/tests"

"github.com/minio/sha256-simd"
oci "github.com/opencontainers/image-spec/specs-go/v1"
"github.com/stretchr/testify/assert"
)
Expand Down
2 changes: 1 addition & 1 deletion tests/integration/api_packages_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ package integration

import (
"bytes"
"crypto/sha256"
"fmt"
"net/http"
"strings"
Expand All @@ -24,7 +25,6 @@ import (
packages_cleanup_service "code.gitea.io/gitea/services/packages/cleanup"
"code.gitea.io/gitea/tests"

"github.com/minio/sha256-simd"
"github.com/stretchr/testify/assert"
)

Expand Down

0 comments on commit f79c9e8

Please sign in to comment.