| 1234567891011121314151617181920212223 |
- <?php
- namespace App\Service\Utils;
- class ObjectUtils
- {
- /**
- * Créé un hash à partir d'un objet
- * (après l'avoir trié selon ses clés, et convertit en json sans espace).
- *
- * @param object|array<mixed> $instance
- */
- public static function hash(object|array $instance, string $algorithm = 'sha256'): string
- {
- // Convertit l'objet en tableau associatif
- $array = (array) $instance;
- // Puis trie l'objet selon ses clés, encode en json, et hash
- ksort($array);
- $json = json_encode((object) $array);
- return hash($algorithm, $json);
- }
- }
|