J'ai besoin d'une fonction de hachage de chaînes très rapide, qui s'intègre bien avec l'application web écrite en PHP.Fonction de hachage très rapide pour hachage de chaînes de 8 à 16 octets
Le problème que j'essaie de surmonter consiste à attribuer des ID aux autorisations dans un système de contrôle d'accès. Je pense à utiliser des chaînes hachées pour représenter les ID des autorisations. De cette façon, je serai en mesure de vérifier les autorisations comme comme ceci:
if ($Auth->isAllowed($user, "blog.comment")) {
// Do some operation
}
...
if ($Auth->isAllowed($user, "profile.avatar.change")) {
// Do some other operation
}
Le tableau DB tracera la permission hash aux rôles de l'utilisateur. Pour vérifier que l'utilisateur est autorisé à faire "profile.avatar.change", la chaîne correspondante sera hachée et vérifiée par rapport à la table DB. Ceci est très pratique et il n'y aura pas besoin de s'inquiéter de la maintenance des ID d'autorisations uniques entre différents modules. Mais la fonction de hachage devrait être très efficace.
Hashing est une rue à sens unique, donc il n'y a rien que vous pourriez vérifier dans un hachage, autre que son existence, pour quelque chose comme ça. –
la manière la plus courante est de suivre l'approche linux. (en utilisant 0-7 pour représenter les autorisations). Attribuez des ID aux autorisations et faites 2^(numéro d'identification) pour créer un nombre entier, puis déroulez-le de la même manière pour déterminer quelles autorisations vous avez ... Ou passez simplement des objets/jetons avec un tas de variables et vérifiez $ user- > can_change_stuff ou $ user-> has_apples – Dimi
@apokryfos, ce n'est pas un doublon. Toutes ces questions sont à moi. Cette question est plus spécifique sur le hachage de chaînes. – ezpresso