Linux vmi284606.contaboserver.net 4.15.0-213-generic #224-Ubuntu SMP Mon Jun 19 13:30:12 UTC 2023 x86_64
Apache/2.4.57 (Ubuntu)
: 167.86.127.34 | : 216.73.217.31
Cant Read [ /etc/named.conf ]
7.2.24-0ubuntu0.18.04.17
root
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
UNLOCK SHELL
HASH IDENTIFIER
README
+ Create Folder
+ Create File
/
usr /
local /
go /
src /
crypto /
subtle /
[ HOME SHELL ]
Name
Size
Permission
Action
constant_time.go
1.78
KB
-rw-r--r--
constant_time_test.go
2.89
KB
-rw-r--r--
Delete
Unzip
Zip
${this.title}
Close
Code Editor : constant_time_test.go
// Copyright 2009 The Go Authors. All rights reserved. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. package subtle import ( "testing" "testing/quick" ) type TestConstantTimeCompareStruct struct { a, b []byte out int } var testConstantTimeCompareData = []TestConstantTimeCompareStruct{ {[]byte{}, []byte{}, 1}, {[]byte{0x11}, []byte{0x11}, 1}, {[]byte{0x12}, []byte{0x11}, 0}, {[]byte{0x11}, []byte{0x11, 0x12}, 0}, {[]byte{0x11, 0x12}, []byte{0x11}, 0}, } func TestConstantTimeCompare(t *testing.T) { for i, test := range testConstantTimeCompareData { if r := ConstantTimeCompare(test.a, test.b); r != test.out { t.Errorf("#%d bad result (got %x, want %x)", i, r, test.out) } } } type TestConstantTimeByteEqStruct struct { a, b uint8 out int } var testConstandTimeByteEqData = []TestConstantTimeByteEqStruct{ {0, 0, 1}, {0, 1, 0}, {1, 0, 0}, {0xff, 0xff, 1}, {0xff, 0xfe, 0}, } func byteEq(a, b uint8) int { if a == b { return 1 } return 0 } func TestConstantTimeByteEq(t *testing.T) { for i, test := range testConstandTimeByteEqData { if r := ConstantTimeByteEq(test.a, test.b); r != test.out { t.Errorf("#%d bad result (got %x, want %x)", i, r, test.out) } } err := quick.CheckEqual(ConstantTimeByteEq, byteEq, nil) if err != nil { t.Error(err) } } func eq(a, b int32) int { if a == b { return 1 } return 0 } func TestConstantTimeEq(t *testing.T) { err := quick.CheckEqual(ConstantTimeEq, eq, nil) if err != nil { t.Error(err) } } func makeCopy(v int, x, y []byte) []byte { if len(x) > len(y) { x = x[0:len(y)] } else { y = y[0:len(x)] } if v == 1 { copy(x, y) } return x } func constantTimeCopyWrapper(v int, x, y []byte) []byte { if len(x) > len(y) { x = x[0:len(y)] } else { y = y[0:len(x)] } v &= 1 ConstantTimeCopy(v, x, y) return x } func TestConstantTimeCopy(t *testing.T) { err := quick.CheckEqual(constantTimeCopyWrapper, makeCopy, nil) if err != nil { t.Error(err) } } var lessOrEqTests = []struct { x, y, result int }{ {0, 0, 1}, {1, 0, 0}, {0, 1, 1}, {10, 20, 1}, {20, 10, 0}, {10, 10, 1}, } func TestConstantTimeLessOrEq(t *testing.T) { for i, test := range lessOrEqTests { result := ConstantTimeLessOrEq(test.x, test.y) if result != test.result { t.Errorf("#%d: %d <= %d gave %d, expected %d", i, test.x, test.y, result, test.result) } } } var benchmarkGlobal uint8 func BenchmarkConstantTimeByteEq(b *testing.B) { var x, y uint8 for i := 0; i < b.N; i++ { x, y = uint8(ConstantTimeByteEq(x, y)), x } benchmarkGlobal = x } func BenchmarkConstantTimeEq(b *testing.B) { var x, y int for i := 0; i < b.N; i++ { x, y = ConstantTimeEq(int32(x), int32(y)), x } benchmarkGlobal = uint8(x) } func BenchmarkConstantTimeLessOrEq(b *testing.B) { var x, y int for i := 0; i < b.N; i++ { x, y = ConstantTimeLessOrEq(x, y), x } benchmarkGlobal = uint8(x) }
Close