2013-11-27 4 views
0

문자열 "Nmimtech1"을 바이트 [] 배열 형식으로 반환하는 제 3 자 코드가 있습니다.HEX 문자열을 C로 실제 문자열 값으로 변환합니다.

object password1 = pProps.GetProperty("PASSWORD"); 

(제 3의 ESRI 라이브러리 코드가 너무 귀찮게하지 않습니다) 지금 나는 []

byte[] pswrdbyte = password1 as byte[] 

이 바이트 배열의 내용을 바이트된다 변환

 [0] 2 byte 
    [1] 0 byte 
    [2] 0 byte 
    [3] 0 byte 
    [4] 20 byte 
    [5] 0 byte 
    [6] 0 byte 
    [7] 0 byte 
    [8] 200 byte 
    [9] 115 byte 
    [10] 39 byte 
    [11] 180 byte 
    [12] 150 byte 
    [13] 100 byte 
    [14] 74 byte 
    [15] 44 byte 
    [16] 7 byte 
    [17] 215 byte 
    [18] 137 byte 
    [19] 50 byte 
    [20] 212 byte 
    [21] 138 byte 
    [22] 56 byte 
    [23] 241 byte 
    [24] 134 byte 
    [25] 51 byte 
    [26] 75 byte 
    [27] 0 byte 

이제 나는 그것을 "Nmimtech1"로 다시 변환하려고 노력했다.

string str = System.Text.Encoding.ASCII.GetString(pswrdbyte); 

반환 "\ 0 \ 0 \ 0 \ 0 \ 0 \ 0?의 '?? DJ, \ 하자고? 2? 8? 3K \ 0"

string str1 = System.Text.Encoding.Unicode.GetString(pswrdbyte); 

반환 "\ 0 \ 0 珈 됧 撖 ⱊ 휇 ㊉ 諔 ㎆K "

string str2 = System.Text.Encoding.UTF8.GetString(pswrdbyte); 

반환"\ 0 \ 0 \ 0 \ 0 \ 0 \ 0s'dJ, \ ׉2 Ԋ83K \ 0 "

string str3 = System.Text.Encoding.UTF32.GetString(pswrdbyte); 

반환 ""

,533,210

반환 "\ 0 \ 0 \ 0 \ 0 \ 0 \ 0Ès''dJ, \ × 2Ô8ñ3K \ 0"

string str5 = System.Text.Encoding.BigEndianUnicode.GetString(pswrdbyte); 

반환 "Ȁ \ 0 ᐀ \ 0 졳 ➴ 除 䨬 ߗ 褲풊 㣱 蘳 䬀 "

string str6 = pswrdbyte.ToString(); 

복귀"System.Byte [] "(이상)

string s = BitConverter.ToString(pswrdbyte); 

복귀"02-00-00-00-14-00-00-00-C8- 73-27-B4-96-64-4A-2C-07-D7-89-32-D4-8A-38-F1-86-33-4B-00 " 이제 약간 이해가되지만이 16 진수 문자열을 프로그래밍 방식으로 "Nmimtech1"로 변환하는 방법을 알려주시겠습니까?

+0

개체 password1은 'Nmimtech1'을 (를) 포함하는 문자열입니까? – Stefan

+0

가지고있는 바이트 배열은 Nmimtech1의 직접적인 표현처럼 보이지 않습니다.그러므로 나는 네가하려는 일을 할 수 있다고 생각하지 않는다. –

+0

반드시 16 진수 출력 일 필요는 없습니다. 'BitConverter'는 말 그대로 8 비트 표현에서 바이트 []를 16 진수로 변환했습니다. –

답변

0

죄송합니다. 제 3 자 코드에서 반환 된 비밀번호가 암호화되어 있으므로 암호를 해독 할 수 없습니다. 오히려 로컬에 저장하려면 암호화 된 양식을 저장해야합니다. 감사합니다.

0

타사 코드가 문자열을 바이트 배열 형식으로 반환하는 경우 왜 다시 바이트 배열로 변환합니까?

지금 난 바이트 변환 [] : 바이트 [] = pswrdbyte password1 인 바이트 []

는?

enter image description here

 string password2 = enc.GetString(pswrdbyte); 

암호 2

 String password1 = "Nmimtech1"; 
     System.Text.ASCIIEncoding enc = new System.Text.ASCIIEncoding(); 

     byte[] pswrdbyte = enc.GetBytes(password1); 
다시 "Nmimtech1"를 포함하고 있습니다.

+0

OP에는 문자열에 암호가 없습니다. 그는 써드 파티 라이브러리에서 얻은 byte []로 그것을 가지고있다. – Rawling

+0

그림에서 "Nmimtech1"바이트 배열로, 나는 왜 그가 바이트 배열로 password1을 변환하려고하는지 알지 못한다. "Nmimtech1"을 나타내는 하나이다. – Stefan

+0

줄 :'object password1 = pProps.GetProperty ("PASSWORD");는 제 3 자 소프트웨어가 사용되는 것으로 가정합니다. –

관련 문제