2009-10-08 10 views
3

Il est possible dans REBOL 3 de calculer une somme de contrôle du module SHA1. Lorsque REBOL charge un module, il compare sa somme de contrôle à la somme de contrôle du module chargé, et si les deux ne correspondent pas, une erreur est générée, à savoir. access error: invalid checksum (tampered file).Comment calculer une somme de contrôle de module REBOL 3?

Peu importe comment j'essaie, je n'arrive pas à créer une somme de contrôle de module que REBOL 3 aime. Lorsque je regarde la documentation pour import, son raffinement /check dit d'utiliser checksum/secure de mold/flat. J'ai essayé toutes sortes de variations de cela sans chance:

import/check %module.r checksum/secure to-binary mold/flat load/all %module.r 
import/check %module.r checksum/secure to-binary mold/flat load %module.r 
import/check %module.r checksum/secure to-binary mold/only/flat load/all %module.r 
import/check %module.r checksum/secure to-binary mold/only/flat load %module.r 
import/check %module.r checksum/secure read %module.r

et ainsi de suite. Rien ne fonctionne. Il doit y avoir une chose simple que je fais mal.

Répondre

2

Voici la réponse:

import/check %module.r checksum/secure to-binary mold/flat load/unbound/header %module.r

Bien sûr, vous avez normalement pré-calculer la somme de contrôle et l'utiliser comme un littéral, sinon il ne serait pas vous faire beaucoup de bien comme un contrôle de sécurité:

import/check %module.r #{A3CD837D0CF843302221C074E88A64AA0147E07E}
+0

Notez que le raffinement '/ unbound' n'existe plus dans R3. Juste l'omettre et tout le reste fonctionne de la même manière que cette écriture. –