Bonjour à tous,
N'ayant pas beaucoup de connaissances en C, je me tourne vers vous pour m'aider à traduire ce code en WLanguage :
Code C : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31 #include <stdint.h> void encrypt (uint32_t* v, uint32_t* k) { uint32_t v0=v[0], v1=v[1], sum=0, i; /* set up */ uint32_t delta=0x9e3779b9; /* a key schedule constant */ uint32_t k0=k[0], k1=k[1], k2=k[2], k3=k[3]; /* cache key */ for (i=0; i < 32; i++) { /* basic cycle start */ sum += delta; v0 += ((v1<<4) + k0) ^ (v1 + sum) ^ ((v1>>5) + k1); v1 += ((v0<<4) + k2) ^ (v0 + sum) ^ ((v0>>5) + k3); } /* end cycle */ v[0]=v0; v[1]=v1; } uint64_t getresponse(uint64_t challenge) { uint32_t k[4] = {0x255edaab,0x4317e813,0x09d1bf66,0xa59409a0} uint32_t v[2]; uint64_t response; v[0] = challenge >> 32; v[1] = challenge & 0xFFFFFFFF; encrypt( v, k ); response = v[0]; response <<= 32; response |= v[1]; return response; }
Merci d'avance
Partager