CRC16 en java [urgent]

CRC16 en java [urgent] - Java - Programmation

Marsh Posté le 05-12-2003 à 16:40:32    

pouvez vous me passez le code java du crc16
 
je suis en controle la  
 
 
thx
 
 

Citation :

package calculcrc;
 
public class Testcalculcrc {
  public static void main(String[] args) {
 
 
int crc = 0xffff;
int octet;
int bitsortie;
int n = 0;
char[] message = {0x01,0x05,0x00,0x00,0xff,0x00};
int i = 0;
 
while (i != 6)  //Test de la fin de la trame
{
      crc = crc ^ message[i];
 
while (n < 8)  //Test
{
            crc = crc >>> 1;  //Décalage à droite d'un bit sans conservation de signe
            bitsortie = crc & 0x01;  //Test logique du bit de sortie
 
       if (bitsortie == 1)
       {
              crc = crc ^ 0xA001; //Ou exclusif
       }
       else
              n = n + 1;
}
          i++;
}
 
 
System.out.println("message : "+message);
System.out.println("CRC16 : "+crc);
 
  }
}


Message édité par ggeforce le 05-12-2003 à 16:41:24
Reply

Marsh Posté le 05-12-2003 à 16:40:32   

Reply

Marsh Posté le 05-12-2003 à 16:45:54    

au revoir [:jpa]

Reply

Marsh Posté le 05-12-2003 à 16:50:21    

Code :
  1. public static String generate()
  2. {
  3.  // Using the MD5 encryption algorithm in order to build the GUID.
  4.  // Since MD5 always returns a 128-bit String, we can put any info we want.
  5.         try
  6.         {
  7.             MessageDigest md = MessageDigest.getInstance("MD5" );
  8.             SecureRandom rand = new SecureRandom();
  9.            
  10.             // The String that will contain the raw information
  11.             String rawGUID = InetAddress.getLocalHost().toString() + System.currentTimeMillis() + Long.toString(rand.nextLong());
  12.             // Encryption... may eat some CPU time
  13.             md.update(rawGUID.getBytes());
  14.             byte[] encBytes = md.digest();
  15.            
  16.             StringBuffer sb = new StringBuffer();
  17.             // We should get 16 bytes, as expected.
  18.             for(int i=0; i<encBytes.length;i++)
  19.             {
  20.                 // Here, the result of the digest are BYTES (1 byte each) and we want WORDS (2 byte-encoded).
  21.                 // That is why we perform a bitwise AND with 255 (or 11111111 in binary), in order to get the hexadecimal value of the byte.
  22.                 // For example, -30 & 255 will give 226.
  23.                 int b = encBytes[i] & 255;
  24.                 // If the value is inferior to 16, then it means we will get a single character hexadecimal representation of the byte. So we add 0 in front of the hex value.
  25.                 if(b<16) sb.append('0');
  26.                 // Then we get the hexadecimal value and add it to the buffer.
  27.                 sb.append(Integer.toHexString(b));
  28.             }
  29.             return sb.toString();
  30.         }
  31.         catch(NoSuchAlgorithmException nsae)
  32.         {
  33.             nsae.printStackTrace();
  34.         }
  35.         catch(UnknownHostException uhe)
  36.         {
  37.          uhe.printStackTrace();
  38.         }
  39.         return null;
  40. }


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
Reply

Marsh Posté le 05-12-2003 à 16:57:24    

bon, Taiche, va voir les télétubbies aussi ! tu lui as filé la solution à son problème, il n'a rien fait par lui même :fou:

Reply

Marsh Posté le 05-12-2003 à 17:10:17    

efface ce message en suivant les pointillés  :  
 


- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  
|                  kikoo lol mdr asv                                                        
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -


Message édité par chrisbk le 05-12-2003 à 17:10:55
Reply

Marsh Posté le 05-12-2003 à 17:16:21    

pourquoi mon mess a été effacé et pas celui de chrisbk [:sisicaivrai]

Reply

Marsh Posté le 05-12-2003 à 17:18:27    

veryfree a écrit :

pourquoi mon mess a été effacé et pas celui de chrisbk [:sisicaivrai]


 
attends je reessaye :
 
 
 

Code :
  1. DWORD ZGCCRC::computeCRC32(const char *lpData,int dataSize)
  2. {
  3. if (!m_bIsChecksumTabComputed)
  4. computeChecksumTable();
  5. if (!dataSize) dataSize = strlen(lpData);
  6. DWORD dwReg = 0;
  7. int i = 0;
  8. while (i<dataSize)
  9. {
  10. //ici une fort interessante boucle
  11. //mais vous avez depassé le tps alloué de la version demo
  12. //désolé
  13. }
  14. return dwReg;
  15. }



Message édité par chrisbk le 05-12-2003 à 17:20:01
Reply

Marsh Posté le 05-12-2003 à 17:23:24    

[:rofl2]

Reply

Marsh Posté le 05-12-2003 à 17:30:19    

[:mlc2] j'aurais (presque) tout vu là.... [:rofl]


---------------
IVG en france
Reply

Marsh Posté le 05-12-2003 à 17:36:18    

Du C++ !!!
Au secours !


---------------
Light is right
Reply

Marsh Posté le 05-12-2003 à 17:36:18   

Reply

Marsh Posté le 05-12-2003 à 17:42:10    

veryfree a écrit :

pourquoi mon mess a été effacé et pas celui de chrisbk [:sisicaivrai]


hahahaha et le mien aussi, comment il avait trop honte ce pauvre harkonnen[:ula]
 


Message édité par the real moins moins le 05-12-2003 à 17:44:30

---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 05-12-2003 à 17:42:38    

the real moins moins a écrit :

hahahaha et le mien aussi, comment il avait trop honte ce pauvre harkonnen[:ula]


 
je crois que t'as pas tout compris

Reply

Marsh Posté le 05-12-2003 à 17:49:58    

the real moins moins a écrit :


hahahaha et le mien aussi, comment il avait trop honte ce pauvre harkonnen[:ula]
 
 


... ou comment casser les gens sans avoir rien compris du tout, uniquement pour le plaisir
 
t'as rien compris, c'est pas grave, j'ai l'habitude
je ferme


Message édité par Harkonnen le 05-12-2003 à 17:56:23
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed