From 2e16ad8b73898184e26531479a8d9b02d4b3d62a Mon Sep 17 00:00:00 2001 From: Hubert Tylkowski Date: Wed, 27 Jun 2018 19:25:52 +0200 Subject: [PATCH] valid FCS output --- .../artifacts/Zadanie_03_jar/Zadanie-03.jar | Bin 4872 -> 4737 bytes .../com/tylkowski/crc/CrcTask.class | Bin 6304 -> 6117 bytes .../Zadanie-03/com/tylkowski/crc/Main.class | Bin 1086 -> 942 bytes Zadanie-03/src/com/tylkowski/crc/CrcTask.java | 40 ++++++++++-------- Zadanie-03/src/com/tylkowski/crc/Main.java | 10 ++--- 5 files changed, 27 insertions(+), 23 deletions(-) diff --git a/Zadanie-03/out/artifacts/Zadanie_03_jar/Zadanie-03.jar b/Zadanie-03/out/artifacts/Zadanie_03_jar/Zadanie-03.jar index 8bd6df9d4f5c250f5ce9bc3ee21ca9d2a86fc0ce..5d76ae0f2dda7ad203d16906b787b506ec968f19 100644 GIT binary patch delta 4107 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

~*FOJyRsoU!uSMwxa`RFrw)A>_>aQ7;g}S63Sp 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 L@pC~=Y`gvsxqkhf literal 6304 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 diff --git a/Zadanie-03/out/production/Zadanie-03/com/tylkowski/crc/Main.class b/Zadanie-03/out/production/Zadanie-03/com/tylkowski/crc/Main.class index daedb274c6ac8373bd76c45c3fcc4a865bad7702..86a430a01424cc018a89e9629cf6c860c9c38fd5 100644 GIT binary patch delta 261 zcmXBOIZgvX5QX8t+ekgrZa`qU#SX);n9bN=z-%@IOyG>r2O>opbwET&ibM*Q55NI9 zjfJQd;rr^Ts>aE?DZYO{$3TaB%M2Ta%%a&$$SqrJr|hsBrD54)Kj9$qVU(jNO~bLF zRTe)g3oX^_wiT*vIB}fPF`PNhxo~v3G+a5Zi3OS7aO>#Nk94Q-<+BeXRoC@K`Qbxf zzlDi@sww8=xmTv-9u!~bVR)%L4pOREJdT`cn#}URJT>X~|0WA8N~+5CC6-aFNJ`NY Na>HsSuqL2c{{wTRAbS7+ delta 381 zcmYk2+e!ja6o$V&9kxwV6qR&7nwpiSX(!8$T0#UNL|qOxm@!zSMLj{c$-F=}-3Hwj z_y9eCPZQA|f{b;u|L^}`vDd4tc`~2h?=>LKzD_4o5}%I7vr{21(WpHb_Y} z4Yt@;Ld;-?U4uQ+F3LDhB78b}Y2KL;+bk6#M_0Mq{6(f{+2?;t1mg`MYui@Aw72tl zt6cu41cHYRDOb5EmI}%0o7bs}7st{1#EJ8uJ$f~|)fJv;Q6Gcs2ijSvIp*{<9iO;& zX=i{A{OT2@ivxPpfcICXU$v+%$sj`rhE-}q`@%07nP61KR;7+HuF46OG$wxl?j%LH diff --git a/Zadanie-03/src/com/tylkowski/crc/CrcTask.java b/Zadanie-03/src/com/tylkowski/crc/CrcTask.java index 6bf7471..1b02ada 100644 --- a/Zadanie-03/src/com/tylkowski/crc/CrcTask.java +++ b/Zadanie-03/src/com/tylkowski/crc/CrcTask.java @@ -1,7 +1,5 @@ package com.tylkowski.crc; -import java.lang.reflect.Field; -import java.nio.charset.Charset; import java.util.Arrays; class CrcTask { @@ -10,19 +8,12 @@ class CrcTask { private short[] polyGenerator; private String rawMessage; - CrcTask(String message, String rawMessage) throws NoSuchFieldException, IllegalAccessException { - setEncoding(); + CrcTask(String message) { + this.rawMessage = message; this.message = formatMessage(toBinaryString(message)) + "0000000000000000"; - this.rawMessage = rawMessage; createGeneratingPolynomial(); } - private void setEncoding() throws NoSuchFieldException, IllegalAccessException { - System.setProperty("file.encoding", "ISO-8859-1"); - Field charset = Charset.class.getDeclaredField("defaultCharset"); - charset.setAccessible(true); - charset.set(null, null); - } private String formatMessage(String message) { int firstNonZeroVal = 0; @@ -59,7 +50,7 @@ class CrcTask { short[] piece = Arrays.copyOfRange(messageAsShortArray, 0, Math.min(polyGenerator.length, messageAsShortArray.length)); if (piece.length < polyGenerator.length) { fillPolynomial(piece); - return "" + getCharFromShortArray(piece, 0, 8) + getCharFromShortArray(piece, piece.length - 8, piece.length); + return createTwoCharsOfFCS(piece); } short[] remainder = calcXOR(piece, polyGenerator); remainder = removeUnecessaryZeros(remainder); @@ -69,6 +60,17 @@ class CrcTask { } + private String createTwoCharsOfFCS(short[] piece) { + short[] firstPiece = Arrays.copyOfRange(piece, 0, 8); + short[] secondPiece = Arrays.copyOfRange(piece, piece.length - 8, piece.length); + short[] mergedPieces = new short[firstPiece.length + secondPiece.length]; + for (int i = 0; i < firstPiece.length; i++) { + mergedPieces[i] = firstPiece[i]; + mergedPieces[i + 8] = secondPiece[i]; + } + return "0x" + Integer.toHexString(Integer.parseInt(shortArrayToBinaryString(mergedPieces), 2)); + } + private short[] createMessageFromRemainderAndPartFromOldMessage(short[] remainder, short[] msg) { short[] tempArr = new short[remainder.length + msg.length - polyGenerator.length]; System.arraycopy(remainder, 0, tempArr, 0, remainder.length); @@ -106,12 +108,6 @@ class CrcTask { return binaryString.toString(); } - private char getCharFromShortArray(short[] piece, int from, int to) { - short[] sign = Arrays.copyOfRange(piece, from, to); - int character = Integer.parseInt(shortArrayToBinaryString(sign), 2); - return (char) character; - } - private void fillPolynomial(short[] piece) { while (piece.length % 8 != 0) { piece = addZeroAtBeginningOfArray(piece); @@ -171,7 +167,10 @@ class CrcTask { } boolean decode(String encodedString) { + String fcs = encodedString.substring(encodedString.indexOf("0x"), encodedString.length()); + encodedString = encodedString.replace(fcs, ""); encodedString = toBinaryString(encodedString); + encodedString = encodedString + toBinaryStringFromHexValue(fcs); encodedString = fillPoly(encodedString); short[] encodedShortArray = convertBinaryStringToShortArray(encodedString); encodedShortArray = swapPolynomialValues(encodedShortArray); @@ -194,6 +193,11 @@ class CrcTask { } } + private String toBinaryStringFromHexValue(String hexString) { + hexString = hexString.substring(2, hexString.length()); + return String.valueOf(Integer.toBinaryString(Integer.parseInt(hexString, 16))); + } + private String toBinaryString(String encodedString) { StringBuilder stringBuilder = new StringBuilder(); for (int i = 0; i < encodedString.length(); i++) { diff --git a/Zadanie-03/src/com/tylkowski/crc/Main.java b/Zadanie-03/src/com/tylkowski/crc/Main.java index b85f350..3911551 100644 --- a/Zadanie-03/src/com/tylkowski/crc/Main.java +++ b/Zadanie-03/src/com/tylkowski/crc/Main.java @@ -2,13 +2,13 @@ package com.tylkowski.crc; public class Main { - public static void main(String[] args) throws NoSuchFieldException, IllegalAccessException { + public static void main(String[] args) { // in command line type "1" for mode and "b" for message // example "1" "b" -> this will encode string "b" and return FCS - // example "2" "bXY" -> this will decode string "bXY" and return true if it is valid or false if not - // X and Y - 1 and 2 character of FCS - CrcTask crcTask = new CrcTask(args[1], args[1]); - if(args[0].equals("1")) { + // example "2" "bX" -> this will decode string "bX" and return true if it is valid or false if not + // X - FCS + CrcTask crcTask = new CrcTask(args[1]); + if (args[0].equals("1")) { //create FCS System.out.println(crcTask.encode()); } else if (args[0].equals("2")) {