]> cvs.zerfleddert.de Git - proxmark3-svn/blob - client/util.c
d691eefc4e1b8231e4caf57c368ee551cc747f8c
[proxmark3-svn] / client / util.c
1 //-----------------------------------------------------------------------------
2 // Copyright (C) 2010 iZsh <izsh at fail0verflow.com>
3 //
4 // This code is licensed to you under the terms of the GNU GPL, version 2 or,
5 // at your option, any later version. See the LICENSE.txt file for the text of
6 // the license.
7 //-----------------------------------------------------------------------------
8 // utilities
9 //-----------------------------------------------------------------------------
10
11 #include "util.h"
12
13 void print_hex(const uint8_t * data, const size_t len)
14 {
15 size_t i;
16
17 for (i=0; i < len; i++)
18 printf("%02x ", data[i]);
19
20 printf("\n");
21 }
22
23 char * sprint_hex(const uint8_t * data, const size_t len) {
24 static char buf[1024];
25 char * tmp = buf;
26 size_t i;
27
28 for (i=0; i < len && i < 1024/3; i++, tmp += 3)
29 sprintf(tmp, "%02x ", data[i]);
30
31 return buf;
32 }
33
34 void num_to_bytes(uint64_t n, size_t len, uint8_t* dest)
35 {
36 while (len--) {
37 dest[len] = (uint8_t) n;
38 n >>= 8;
39 }
40 }
41
42 uint64_t bytes_to_num(uint8_t* src, size_t len)
43 {
44 uint64_t num = 0;
45 while (len--)
46 {
47 num = (num << 8) | (*src);
48 src++;
49 }
50 return num;
51 }
Impressum, Datenschutz