C에서 20 바이트 16 진수 (문자열)를 10 바이트 이진 문자 문자열로 변환

옥시 코드

다음 문자열이 저장되어 있습니다. 1F의 경우 16 바이트, 끝에 4 개의 nullBytes.

e.g. 1234567890ABCDEF0000
unsigned char input[] = {0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x30, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x00, 0x00, 0x00, 0x00};

이것의 10 바이트 바이너리를 어떻게 얻습니까?

편집하다:

openssl 암호화 라이브러리의 SHA1 기능을 제대로 사용하려고합니다. 명령 줄에서 "소금"과 "암호"를 읽는 작업이 있습니다.

그런 다음 "salt"+ "|"가되도록 함께 추가합니다. + "비밀번호".

솔트가 전달되지 않으면 솔트는 10 바이트 인 "\ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0"입니다. 맞습니까? 하지만 솔트가 전달되면 "1234567890ABCDEF"가 될 수 있습니다.

그런 다음 오른쪽까지 null 바이트로 채워야합니다. 그래서 총 10 바이트를 가지게되지만 "1234567890ABCDEF"는 이미 16 바이트이므로 변환해야합니다. 난 잘 모르겠어, 난 정말 c의 메모리 부분에 어려움을 겪고있어

Ctx

가장 쉬운 방법은 다음과 같습니다.

0으로 초기화 된 10 바이트 배열을 만듭니다.

unsigned char salt[10] = { 0 };

그런 다음 16 진수를 바이트 단위로 읽습니다 sscanf().

sscanf(input, "%02hhx%02hhx%02hhx%02hhx%02hhx%02hhx%02hhx%02hhx%02hhx%02hhx",
              &salt[0], &salt[1], &salt[2], &salt[3], &salt[4],
              &salt[5], &salt[6], &salt[7], &salt[8], &salt[9]);

이것은 필요한만큼의 바이트를 변환합니다. 6 자리 16 진수 만 솔트로 지정하면 처음 3 바이트가 채워지고 나머지는 0으로 유지됩니다.

이것은 당신이 기대하는 것을 할 것입니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

C ++ 16 진 문자열을 바이트로 변환

분류에서Dev

16 진수 문자열을 바이트 배열로 변환

분류에서Dev

Javascript에서 16 진수 문자열을 바이트로, 바이트를 16 진수 문자열로 변환하는 방법은 무엇입니까?

분류에서Dev

2 바이트 16 진수 문자열을 perl에서 char로 변환

분류에서Dev

Java 일반 바이트 배열을 문자열로 변환 (16 진수가 아닌 10 진수)

분류에서Dev

hbase 셸 (JRuby)에서 16 진수 문자열을 16 진수 바이트 이스케이프를 사용하여 문자열로 변환하는 방법

분류에서Dev

hbase 셸 (JRuby)에서 16 진수 문자열을 16 진수 바이트 이스케이프를 사용하여 문자열로 변환하는 방법

분류에서Dev

ASCII 16 진 문자열을 바이트 배열로 변환

분류에서Dev

16 진 문자열을 바이트 배열로 변환

분류에서Dev

Java에서 큰 이진 문자열을 10 진수로 변환

분류에서Dev

16 진수 문자열을 바이트 배열 C #으로

분류에서Dev

16 진 문자열을 바이트 []로 변환

분류에서Dev

바이트를 16 진수 문자로 변환하는 방법

분류에서Dev

자바 스크립트에서 큰 10 진수를 문자열로 변환

분류에서Dev

파이썬에서 문자열을 16 진수로 변환

분류에서Dev

c에서 16 진수 문자열을 10 진수로 변환

분류에서Dev

C ++에서 16 진수 문자열을 10 진수로 변환

분류에서Dev

16 진수 배열을 나타내는 문자열을 C #의 바이트 배열로 변환

분류에서Dev

문자열의 16 진수 코드를 바이트 단위의 16 진수 코드로 변환 (Java)

분류에서Dev

16 진 문자열을 바이트 함수에 대한 올바른 형식으로 변환

분류에서Dev

16 진수 문자열을 바이트로 변환하는 방법

분류에서Dev

64 비트 unsigned int (16 진수 문자열 형식)를 Java에서 10 진수로 변환

분류에서Dev

안드로이드에서 byte []를 16 진수 문자열로 변환

분류에서Dev

16 진수 문자열을 비트 문자열로 변환

분류에서Dev

16 진수 문자열을 이진 SQL Server로 변환

분류에서Dev

Arduino C / C ++ 바이너리 문자열을 10 진수로 변환

분류에서Dev

64 비트를 포함하는 바이너리 문자열을 자바에서 16 진수로 변환 하시겠습니까?

분류에서Dev

파이썬 문자열을 16 진수 바이트로

분류에서Dev

이진 문자열을 10 진수로 변환

Related 관련 기사

  1. 1

    C ++ 16 진 문자열을 바이트로 변환

  2. 2

    16 진수 문자열을 바이트 배열로 변환

  3. 3

    Javascript에서 16 진수 문자열을 바이트로, 바이트를 16 진수 문자열로 변환하는 방법은 무엇입니까?

  4. 4

    2 바이트 16 진수 문자열을 perl에서 char로 변환

  5. 5

    Java 일반 바이트 배열을 문자열로 변환 (16 진수가 아닌 10 진수)

  6. 6

    hbase 셸 (JRuby)에서 16 진수 문자열을 16 진수 바이트 이스케이프를 사용하여 문자열로 변환하는 방법

  7. 7

    hbase 셸 (JRuby)에서 16 진수 문자열을 16 진수 바이트 이스케이프를 사용하여 문자열로 변환하는 방법

  8. 8

    ASCII 16 진 문자열을 바이트 배열로 변환

  9. 9

    16 진 문자열을 바이트 배열로 변환

  10. 10

    Java에서 큰 이진 문자열을 10 진수로 변환

  11. 11

    16 진수 문자열을 바이트 배열 C #으로

  12. 12

    16 진 문자열을 바이트 []로 변환

  13. 13

    바이트를 16 진수 문자로 변환하는 방법

  14. 14

    자바 스크립트에서 큰 10 진수를 문자열로 변환

  15. 15

    파이썬에서 문자열을 16 진수로 변환

  16. 16

    c에서 16 진수 문자열을 10 진수로 변환

  17. 17

    C ++에서 16 진수 문자열을 10 진수로 변환

  18. 18

    16 진수 배열을 나타내는 문자열을 C #의 바이트 배열로 변환

  19. 19

    문자열의 16 진수 코드를 바이트 단위의 16 진수 코드로 변환 (Java)

  20. 20

    16 진 문자열을 바이트 함수에 대한 올바른 형식으로 변환

  21. 21

    16 진수 문자열을 바이트로 변환하는 방법

  22. 22

    64 비트 unsigned int (16 진수 문자열 형식)를 Java에서 10 진수로 변환

  23. 23

    안드로이드에서 byte []를 16 진수 문자열로 변환

  24. 24

    16 진수 문자열을 비트 문자열로 변환

  25. 25

    16 진수 문자열을 이진 SQL Server로 변환

  26. 26

    Arduino C / C ++ 바이너리 문자열을 10 진수로 변환

  27. 27

    64 비트를 포함하는 바이너리 문자열을 자바에서 16 진수로 변환 하시겠습니까?

  28. 28

    파이썬 문자열을 16 진수 바이트로

  29. 29

    이진 문자열을 10 진수로 변환

뜨겁다태그

보관