Hash par Weinberger

Contenu du snippet

PROCEDURE Weinberger(CleVal)
nRes est un entier sans signe sur 4 octets
nTemp est un entier sans signe sur 4 octets
ntmp est un entier sans signe sur 4 octets
nParc est un entier
//nMod est un entier = 187909
nTaille est un entier
sAConvert est une chaîne
tabEntiers est un tableau d'entiers sans signe sur 4 octets
SI EstNumérique(CleVal) ALORS
    sAConvert = CleVal
SINON
    sAConvert = CleVal
FIN
 nTaille = Taille(sAConvert)
 
 POUR nParc = 1 A nTaille
    Ajoute(tabEntiers,Asc(Milieu(sAConvert,nParc,1)))
FIN
nRes = 0
POUR CHAQUE nTemp DE tabEntiers
    nRes = (nRes * 16) + nTemp
    SI nRes > 268435456 ALORS
        ntmp = (nRes / 268435456) * 268435456
        nRes = nRes + (ntmp / 16777216)
        nRes = nRes - ntmp
    FIN
FIN
RENVOYER nRes // Modulo(nRes,nMod)


Compatibilité : Windev

Disponible dans d'autres langages :

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.