2011-10-04 3 views
-1

나는 정말이 게시 바보가 된 기분하지만 난 내 질문에 아무런 답변이 없어 그리고 이후 내가 중학교 프로그래머 내가이 게시 할 예정입니다 여전히 이니 당신은 내가 8 바이트와 함께이 4 바이트 배열을 생성시피키 생성기 방법?

 //List of keys 
     byte[] Key0 = { 10, 20, 30, 40, 50, 60, 70, 80, 90, 100 }; //mode 10 = 0 
     byte[] Key1 = { 1, 3, 5, 7, 9, 11, 13, 15, 17, 19 }; // i + 2 
     byte[] Key2 = { 2, 4, 6, 8, 10, 12, 14, 16, 18, 20 }; // i mode 2 = 0 
     byte[] Key3 = { 66, 77, 88, 99, 111, 222, 110, 112, 114, 115 }; // mode 11 = 0 
     byte[] Key4 = { 1, 4, 9, 16, 25, 36, 49, 64, 81, 100, 121 }; //x^2 
     byte[] Key5 = { 6,17,34,57,86,121,162,209 }; //3x^2+2x+1 
     byte[] Key6 = { 77,78,79,80,81,82,83,84,85,86,87 }; // only in range 
     //Add all keys to the list 
     List<byte[]> oKeysList = new List<byte[]>(); 
     oKeysList.Add(Key0); 
     oKeysList.Add(Key1); 
     oKeysList.Add(Key2); 
     oKeysList.Add(Key3); 
     oKeysList.Add(Key4); 
     oKeysList.Add(Key5); 
     oKeysList.Add(Key6); 

     Random oRandom = new Random(); 
     //Generate random key index to be used in the encryption 
     int ListSelectedIndex = oRandom.Next(0, oKeysList.Count); 
     byte[] GeneratedKey = oKeysList[ListSelectedIndex]; 
     //Generate 3 random number from the selected key and concate the key index to it 
     byte[] GeneratedBytes = new byte[4]; 
     for (int i = 0; i < 3; i++) 
     { 
      GeneratedBytes[i] = GeneratedKey[oRandom.Next(0,GeneratedKey.Length)]; 
     } 
     //Add the list of key index 
     GeneratedBytes[3] = (byte)ListSelectedIndex; 
     //Return the genreated bytes 
     return GeneratedBytes; 

을 RNG 암호화에서 생성 된, 그리고 내가 시리얼을 확인하고 싶을 때 마지막 4 바이트를 가져 와서 그들 사이의 수학적 관계를 사용하면 많은 시리얼을 생성하고 유효한지 여부를 확인할 수 있습니다. 나는 아주 나쁜 보안을 가진 아마도 꽤 오래된 방법을 알고있다. 그래서 아무도 나를 도울 수 없거나 내 코드에 아무것도 추가하지 않거나 새로운 것을 제안한다면 정말로 감사 할 것이다.

+0

try http://codereview.stackexchange.com/ –

+0

무엇을 왜 확인해야하는지 알지 못하면 제안을하기가 어렵습니다. –

답변

1

누구든지 여기에서 코드를 분석 할 것인지 확신하지 못합니다. 나는 다음을 제안한다 : 소프트웨어 보호를 너무 복잡하게 만들지 마라. 불법 복제에 큰 영향을주지는 않지만 소프트웨어를 구입 한 사람은 100 % 영향을받습니다. 소프트웨어 보호 메커니즘을 가능한 한 간단하게 유지하십시오.