Skip to content

Commit 5d1d525

Browse files
Merge pull request #88 from TheDragonCode/4.x
Replaced `md5` with `xxh128`
2 parents 8d76da5 + df45409 commit 5d1d525

File tree

3 files changed

+32
-32
lines changed

3 files changed

+32
-32
lines changed

composer.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,4 +81,4 @@
8181
"php vendor/bin/phpunit"
8282
]
8383
}
84-
}
84+
}

src/Support/Key.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ public function get(
2727

2828
protected function hash(array $values, bool $hash = true): array
2929
{
30-
return $this->arrayFlattenKeysMap($values, fn (mixed $value) => $hash ? md5($value) : $value);
30+
return $this->arrayFlattenKeysMap($values, fn (mixed $value) => $hash ? hash('xxh128', $value) : $value);
3131
}
3232

3333
protected function compile(array $values, string $separator): string

tests/Support/KeyTest.php

Lines changed: 30 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ public function testString()
3333
$key = Key::get(':', ['Foo', 'Bar', 'Baz']);
3434

3535
$expected
36-
= '17358f5eb750c32289df798e7766e830:64db6856f253b7bf17202a3dd3254fc1:05797d9d2d667864e94e07ba8df60840';
36+
= '066844617672172f2ae39d2d5913ef4c:bcba27d6e802f5996451ba64a228b6c6:d7ecefa0b151a97860dc4484f7f8fa4f';
3737

3838
$this->assertSame($expected, $key);
3939
}
@@ -43,7 +43,7 @@ public function testNumeric()
4343
$key = Key::get(':', [1, 2, 3]);
4444

4545
$expected
46-
= 'd944267ac25276f12cb03fc698810d94:7b2fb106352b24c6dd644a8cdf200295:d8526ab50063e2025ef690f730cd5542';
46+
= 'c86e3110a6d26fe560ae738cb6e8b35a:ff31a4bdf27d72cd226daa17502de42f:514c9ac227530b28cef0ec15f1078cf3';
4747

4848
$this->assertSame($expected, $key);
4949
}
@@ -57,10 +57,10 @@ public function testArray()
5757
]);
5858

5959
$expected = implode(':', [
60-
'b58721335d52d66a9486072fe3383ccf',
61-
'f61f09aec2b68da240f6680a6fc88c6a',
62-
'a13960759cc35a02e91fafb356f491c6',
63-
'70f48dde06f86de7fae03486c277f597',
60+
'787f1b60e54c7c9840578e809a5bb483',
61+
'c3df2edd586890488af77f9d1b76624c',
62+
'630b6a6167f3c10da0087deddfb0bc78',
63+
'23ce8e493c657f862a59d405d5ae4a22',
6464
]);
6565

6666
$this->assertSame($expected, $key);
@@ -71,8 +71,8 @@ public function testBoolean()
7171
$key = Key::get(':', [true, false]);
7272

7373
$expected = implode(':', [
74-
'd944267ac25276f12cb03fc698810d94',
75-
'bcb8c4703eae71d5d05c0a6eec1f7daa',
74+
'c86e3110a6d26fe560ae738cb6e8b35a',
75+
'7fefa631bfe2475ff417717268a34195',
7676
]);
7777

7878
$this->assertSame($expected, $key);
@@ -83,10 +83,10 @@ public function testCombine()
8383
$key = Key::get(':', [1, 'Foo', [['Bar', 'Baz']]]);
8484

8585
$expected = implode(':', [
86-
'd944267ac25276f12cb03fc698810d94',
87-
'5bfe89f7c2ace87ef1c208c3d95fc1b6',
88-
'a6426f0db8f32e1156366c7ffe317a6c',
89-
'6e30ad368454c1fdd71d181f47314222',
86+
'c86e3110a6d26fe560ae738cb6e8b35a',
87+
'832eed4c5bf858df13ee59b67aa75b1d',
88+
'd10414ec90de1e952a615a2c3d656268',
89+
'f16e7b1ceb2ae177dea9829b29e101c9',
9090
]);
9191

9292
$this->assertSame($expected, $key);
@@ -97,8 +97,8 @@ public function testArrayable()
9797
$key = Key::get(':', $this->dto());
9898

9999
$expected = implode(':', [
100-
'b58721335d52d66a9486072fe3383ccf',
101-
'8a5c22700ece9adc6c0265fa4af575f1',
100+
'787f1b60e54c7c9840578e809a5bb483',
101+
'0e64b00cd661261763e451808a05677e',
102102
]);
103103

104104
$this->assertSame($expected, $key);
@@ -109,8 +109,8 @@ public function testCustomObjects()
109109
$key1 = Key::get(':', [new CustomObject()]);
110110
$key2 = Key::get(':', [new CustomObjectWithoutProperties()]);
111111

112-
$this->assertSame('b58721335d52d66a9486072fe3383ccf', $key1);
113-
$this->assertSame('9be04f864d3649e49e892638361d5d49', $key2);
112+
$this->assertSame('787f1b60e54c7c9840578e809a5bb483', $key1);
113+
$this->assertSame('f9c1f3c1439cb8459d9025a9e597b7c9', $key2);
114114
}
115115

116116
public function testMultiObjectArrays()
@@ -128,12 +128,12 @@ public function testMultiObjectArrays()
128128
// qwe:rty:Foo:Bar:WASD:Foo
129129

130130
$expected = implode(':', [
131-
'6ced27e919d8e040c44929d72fffb681',
132-
'b619de70b824374bf86438df3b059bca',
133-
'bc5ea0aa608c8e0ef8175083e334abff',
134-
'89f5d16cceb669516a0d37c6f2d47df8',
135-
'4d1c034a3e1f42f73339950f3a416c46',
136-
'eb499c88d41a72f17278348308b4bae8',
131+
'00a922fefaabdc276830745c624b6d04',
132+
'b1c6c02a6b5e40c95e7787f631ff6948',
133+
'b2dd9e7a3140ce9496ac559a0f4412b4',
134+
'08607c1a9f3d6989110f468d49ed2a53',
135+
'd78af385c25b9903f9f95ba1823a1b8f',
136+
'7d25a0a73048ee2de0f7c9a1d1e240d9',
137137
]);
138138

139139
$this->assertSame($expected, $key);
@@ -144,8 +144,8 @@ public function testEmpties()
144144
$key = Key::get(':', [null, '', 0, [], false]);
145145

146146
$expected = implode(':', [
147-
'2d4bab7f33ac57126deb8cde12a0c2ae',
148-
'3e3a3e1902376d96020b11c67bec7a08',
147+
'43d447ef566417fd13017147aa70f410',
148+
'0f39f9a21e0c7acb31e59ef0559557dd',
149149
]);
150150

151151
$this->assertSame($expected, $key);
@@ -156,7 +156,7 @@ public function testModelKey()
156156
$key = Key::get(':', [User::class, 'foo', 'bar']);
157157

158158
$expected
159-
= '87789eae95facc4a5bfdeb957b860942:086f76c144511e1198c29a261e87ca50:2b72000f7b07c51cbbe0e7f85a19597e';
159+
= 'cbd255cf79e6ffc7245d84ec28e86873:3eaad76f0a1e8fe159522d2873cd102f:bf7ab0d983046b032fc9c22b17179bff';
160160

161161
$this->assertSame($expected, $key);
162162
}
@@ -168,7 +168,7 @@ public function testCarbon()
168168
Carbon::parse('2022-10-07 15:00:00'),
169169
]);
170170

171-
$expected = '67f1a84c86633483bea1d2080767711c:aeab04bbac549fe6268a7e12ef761165';
171+
$expected = '7485b8d070b3891642636988ae60923c:0dc51b5eaafc5968afc8c81e5b8d50f3';
172172

173173
$this->assertSame($expected, $key);
174174
}
@@ -185,8 +185,8 @@ public function testFormRequest()
185185
);
186186

187187
$expected = implode(':', [
188-
'b58721335d52d66a9486072fe3383ccf',
189-
'8a5c22700ece9adc6c0265fa4af575f1',
188+
'787f1b60e54c7c9840578e809a5bb483',
189+
'0e64b00cd661261763e451808a05677e',
190190
]);
191191

192192
$this->assertSame($expected, $key);
@@ -203,8 +203,8 @@ public function testEnum()
203203
$key = Key::get(':', [WithoutValueEnum::foo, WithValueEnum::bar]);
204204

205205
$expected = implode(':', [
206-
'33e35b61ea46b126d2a6bf81acda8724',
207-
'660a13c00e04c0d3ffb4dbf02a84a07a',
206+
'f44e232cceb317df905da38294debd48',
207+
'9072f0509e45df294401beab989eb873',
208208
]);
209209

210210
$this->assertSame($expected, $key);

0 commit comments

Comments
 (0)