
EN: rebol.com -
rebol.org -
rebol.net -
FR: Rebol Documentation Project -
forum RebelBB -
rebol-france.org -
forum codeur -
Retourne un CRC ou un autre type de checksum.
checksum data
data - Données pour lesquelles on souhaite calculer le checksum (type: any-string).
/tcp - Retourne le checksum Internet TCP 16-bit.
/secure - Retourne un checksum sécurisé par cryptographie.
/hash - Retourne une valeur d’index pour une table de hash.
size - Taille de la table de hash (type: integer!)
/method - Methode à utiliser.
word - Algorithme de cryptage: SHA1 MD5 (type: word!)
/key - Retourne une keyed valeur HMAC.
key-value - Valeur de la clé à utiliser (type: any-string!)
En général, un checksum est un nombre qui accompagne les données pour attester que les données n’ont pas subi d’altération durant leur phase de transport. Le checksum est un processus de détection des erreurs très largement employé.
print checksum "now is the dawning" 9076108
print checksum "how is the dawning" 3266670
Le raffinement /secure crée en résultat une chaîne binaire qui est sécurisée par cryptographie:
print checksum/secure "fred-key" #{26EF1217114C035788A0D9A56A1772A6902CA42E}
print checksum/secure form now #{6CC317901890D1C56E624859E48E945AD2B53229}
Le raffinement /TCP est utilisé pour calculer un checksum standard de transfert réseau TCP. C’est une méthode cryptographiquement faible mais rapide pour générer des checksum.
print checksum/tcp "now is the dawning" 51574
print checksum/tcp "how is the dawning" 53110
Le raffinement /method est utilisé pour crypter un texte ASCII suivant différents algorithmes de cryptage. L’utilisation est très utile dans le cadre d’interface CGI de comparaison entre un mot de passe sauvegardé dans une base de données dans sa forme cryptée et le mot de passe saisi par l’utilisateur en forme ASCII dans le formulaire de connexion. Méthode cryptographiquement forte mais plus lente.
print checksum/method "test text" 'md5 #{1E2DB57DD6527AD4F8F281AB028D2C70
print checksum/method "test text" 'sha1 #{6AFC05EAE22E994F1C7DD48E58F8895DD9028223}
any-string? - Retourne TRUE pour n’importe quelle valeur chaîne de caractères.
string? - Retourne TRUE pour une valeur chaîne de caractères.