From e90152adf8f8631602b235c2e6c25352fd79c140 Mon Sep 17 00:00:00 2001 From: Andrei Demian Date: Fri, 27 Sep 2024 11:45:18 +0300 Subject: [PATCH 1/2] Update Gravatar hashing to use sha256 --- README.md | 6 +++--- src/Avatar.php | 4 ++-- tests/AvatarPhpTest.php | 10 +++++----- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index 3cc6b7e..0fd89c1 100644 --- a/README.md +++ b/README.md @@ -74,12 +74,12 @@ Avatar::create('Susilo Bambang Yudhoyono')->save('sample.jpg', 100); // quality ### Output as Gravatar ```php Avatar::create('uyab@example.net')->toGravatar(); -// Output: http://gravatar.com/avatar/0dcae7d6d76f9a3b14588e9671c45879 +// Output: http://gravatar.com/avatar/0c5cbf5a8762d91d930795a6107b2ce5814a6ab26e60c7ec6b75bc81c7dfe3ee Avatar::create('uyab@example.net')->toGravatar(['d' => 'identicon', 'r' => 'pg', 's' => 100]); -// Output: http://gravatar.com/avatar/0dcae7d6d76f9a3b14588e9671c45879?d=identicon&r=pg&s=100 +// Output: http://gravatar.com/avatar/0c5cbf5a8762d91d930795a6107b2ce5814a6ab26e60c7ec6b75bc81c7dfe3ee?d=identicon&r=pg&s=100 ``` -Gravatar parameter reference: https://en.gravatar.com/site/implement/images/ +Gravatar parameter reference: https://docs.gravatar.com/api/avatars/images/ ### Output as SVG ```php diff --git a/src/Avatar.php b/src/Avatar.php index 0bdc379..23a6732 100644 --- a/src/Avatar.php +++ b/src/Avatar.php @@ -246,8 +246,8 @@ public function toSvg(): string public function toGravatar(array $param = null): string { - // Hash generation taken from https://en.gravatar.com/site/implement/images/php/ - $hash = md5(strtolower(trim($this->name))); + // Hash generation taken from https://docs.gravatar.com/api/avatars/php/ + $hash = hash('sha256',strtolower(trim($this->name))); $attributes = []; if ($this->width) { diff --git a/tests/AvatarPhpTest.php b/tests/AvatarPhpTest.php index ed052b9..261d5a6 100644 --- a/tests/AvatarPhpTest.php +++ b/tests/AvatarPhpTest.php @@ -386,7 +386,7 @@ public function it_can_handle_html_entities() */ public function it_can_generate_gravatar() { - $expected = 'https://www.gravatar.com/avatar/0dcae7d6d76f9a3b14588e9671c45879?s=88'; + $expected = 'https://www.gravatar.com/avatar/0c5cbf5a8762d91d930795a6107b2ce5814a6ab26e60c7ec6b75bc81c7dfe3ee?s=88'; $avatar = new \Laravolt\Avatar\Avatar(); $url = $avatar @@ -402,7 +402,7 @@ public function it_can_generate_gravatar() */ public function it_can_generate_gravatar_with_size() { - $expected = 'https://www.gravatar.com/avatar/0dcae7d6d76f9a3b14588e9671c45879?s=100'; + $expected = 'https://www.gravatar.com/avatar/0c5cbf5a8762d91d930795a6107b2ce5814a6ab26e60c7ec6b75bc81c7dfe3ee?s=100'; $avatar = new \Laravolt\Avatar\Avatar(); $url = $avatar->create('uyab.exe@gmail.com') @@ -417,7 +417,7 @@ public function it_can_generate_gravatar_with_size() */ public function it_can_generate_gravatar_with_default() { - $expected = 'https://www.gravatar.com/avatar/0dcae7d6d76f9a3b14588e9671c45879?d=identicon&s=100'; + $expected = 'https://www.gravatar.com/avatar/0c5cbf5a8762d91d930795a6107b2ce5814a6ab26e60c7ec6b75bc81c7dfe3ee?d=identicon&s=100'; $avatar = new \Laravolt\Avatar\Avatar(); $url = $avatar->create('uyab.exe@gmail.com') @@ -432,7 +432,7 @@ public function it_can_generate_gravatar_with_default() */ public function it_can_generate_gravatar_with_default_and_rating() { - $expected = 'https://www.gravatar.com/avatar/0dcae7d6d76f9a3b14588e9671c45879?d=identicon&r=pg&s=100'; + $expected = 'https://www.gravatar.com/avatar/0c5cbf5a8762d91d930795a6107b2ce5814a6ab26e60c7ec6b75bc81c7dfe3ee?d=identicon&r=pg&s=100'; $avatar = new \Laravolt\Avatar\Avatar(); $url = $avatar->create('uyab.exe@gmail.com') @@ -447,7 +447,7 @@ public function it_can_generate_gravatar_with_default_and_rating() */ public function it_can_generate_gravatar_with_size_overriden() { - $expected = 'https://www.gravatar.com/avatar/0dcae7d6d76f9a3b14588e9671c45879?s=300'; + $expected = 'https://www.gravatar.com/avatar/0c5cbf5a8762d91d930795a6107b2ce5814a6ab26e60c7ec6b75bc81c7dfe3ee?s=300'; $avatar = new \Laravolt\Avatar\Avatar(); $url = $avatar->create('uyab.exe@gmail.com') From 9a6429800ec772fe13052a87f9ca843f5e09ee68 Mon Sep 17 00:00:00 2001 From: Andrei Demian Date: Fri, 27 Sep 2024 11:49:19 +0300 Subject: [PATCH 2/2] Fix linting --- src/Avatar.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Avatar.php b/src/Avatar.php index 23a6732..db18449 100644 --- a/src/Avatar.php +++ b/src/Avatar.php @@ -247,7 +247,7 @@ public function toSvg(): string public function toGravatar(array $param = null): string { // Hash generation taken from https://docs.gravatar.com/api/avatars/php/ - $hash = hash('sha256',strtolower(trim($this->name))); + $hash = hash('sha256', strtolower(trim($this->name))); $attributes = []; if ($this->width) {