Генератор хэша CRC-16
Руководство по генератору хэшей CRC-16
Назначение инструмента
Генератор хэшей CRC-16 - это бесплатный онлайн-инструмент, который генерирует контрольные суммы для любой введенной строки. Он предназначен для обеспечения простого и эффективного способа генерации контрольной суммы с использованием алгоритма CRC-16.
Преимущества и преимущества
Использование генератора хэшей CRC-16 имеет несколько преимуществ и преимуществ, таких как:
- Он работает онлайн и бесплатно, без зависимостей от системы и программного обеспечения.
- Есть возможность очистки, копирования и примера для удобства использования.
- Сгенерированная контрольная сумма является безопасной и может быть вычислена только локально, обеспечивая безопасность данных.
Как использовать инструмент
- Посетите веб-страницу генератора хэшей CRC-16 в вашем браузере.
- В поле ввода введите строку, для которой вы хотите вычислить значение контрольной суммы.
- Нажмите кнопку "Сгенерировать", чтобы вычислить значение контрольной суммы.
- Рассчитанное значение контрольной суммы будет отображено в поле вывода.
- Вы можете скопировать это значение в буфер обмена или очистить поля ввода и вывода, нажав кнопку "Очистить".
Реализация на различных языках программирования
Вот примеры кода и описания того, как реализовать генератор хэшей CRC-16 на Python, Java, JavaScript, Golang, Ruby и PHP.
Python
import binascii
def crc16(data: bytes) -> int:
crc = 0xFFFF
for i in range(len(data)):
crc ^= data[i] << 8
for j in range(8):
if crc & 0x8000:
crc = (crc << 1) ^ 0x1021
else:
crc <<= 1
return crc & 0xFFFF
input_str = "Free Online Tools"
input_bytes = input_str.encode('utf-8')
checksum = crc16(input_bytes)
print(hex(checksum)[2:].zfill(4)) # Вывод: "2dd2"
Java
import java.util.zip.CRC32;
public class CRC16HashGenerator {
public static void main(String[] args) {
String inputStr = "Free Online Tools";
byte[] inputBytes = inputStr.getBytes();
CRC32 crc32 = new CRC32();
crc32.update(inputBytes);
System.out.println(Long.toHexString(crc32.getValue() & 0xFFFF));
}
}
JavaScript
function crc16(str) {
let crc = 0xffff;
for (let i = 0; i < str.length; i++) {
crc ^= str.charCodeAt(i) << 8;
for (let j = 0; j < 8; j++) {
if (crc & 0x8000) {
crc = (crc << 1) ^ 0x1021;
} else {
crc <<= 1;
}
}
}
return (crc & 0xffff).toString(16).padStart(4, "0");
}
let inputStr = "Free Online Tools";
let checksum = crc16(inputStr);
console.log(checksum); // Вывод: "2dd2"
Golang
package main
import (
"hash/crc32"
"fmt"
)
func main() {
inputStr := "Free Online Tools"
inputBytes := []byte(inputStr)
crcTable := crc32.MakeTable(0x1021)
checksum := crc32.Update(0xFFFF, crcTable, inputBytes)
fmt.Printf("%04x\n", checksum)
}
Ruby
def crc16(str)
crc = 0xFFFF
str.each_byte do |b|
crc ^= b << 8
for j in 0..7
if (crc & 0x8000) != 0
crc = ((crc << 1) ^ 0x1021)
else
crc = (crc << 1)
end
end
end
crc & 0xFFFF
end
input_str = "Free Online Tools"
checksum = crc16(input_str).to_s(16).rjust(4, '0')
puts checksum # Вывод: "2dd2"
PHP
function crc16($str) {
$crc = 0xFFFF;
for ($i = 0; $i < strlen($str); $i++) {
$crc ^= ord($str[$i]) << 8;
for ($j = 0; $j < 8; $j++) {
if ($crc & 0x8000) {
$crc = (($crc << 1) ^ 0x1021);
} else {
$crc = $crc << 1;
}
}
}
return str_pad(dechex($crc & 0xFFFF), 4, "0", STR_PAD_LEFT);
}
$input_str = "Free Online Tools";
$checksum = crc16($input_str);
echo $checksum; // Вывод: "2dd2"
Заключение
Генератор хэша CRC-16 - это простой и мощный инструмент, который может помочь вам генерировать контрольные суммы для ваших входных строк. Используя этот инструмент, вы можете обеспечить безопасность ваших данных и гарантировать, что вычисленное значение контрольной суммы доступно только локально. С помощью предоставленных примеров кода вы легко можете интегрировать этот инструмент в ваши проекты и приложения.