CRC-16 哈希生成器
CRC-16 哈希生成器手册
工具目的
CRC-16 哈希生成器是一个免费在线工具,用于为任何给定的输入字符串生成校验和值。它旨在提供一种使用 CRC-16 算法生成校验和的简单高效的方法。
好处和优势
使用 CRC-16 哈希生成器有以下几个好处和优势:
- 在线免费,无需系统和软件依赖。
- 可以清除、复制和具有示例,使用方便。
- 生成的校验和是安全的,只能在本地计算,确保数据安全。
如何使用该工具
- 在浏览器中访问 CRC-16 哈希生成器网页。
- 在提供的输入框中输入要计算校验和值的字符串。
- 单击生成按钮计算校验和值。
- 计算得到的校验和值将显示在输出框中。
- 您可以将此值复制到剪贴板,或者单击清除按钮清除输入和输出框。
在各种编程语言中的实现
以下是在 Python、Java、JavaScript、Golang、Ruby 和 PHP 中实现 CRC-16 哈希生成器的示例代码和描述。
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
// 计算CRC16校验值
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
# 计算CRC16校验和
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 哈希生成器是一个简单而又强大的工具,可以帮助您为输入字符串生成校验和值。通过使用这个工具,您可以确保您的数据安全,并且计算的校验和值仅在本地可用。借助所提供的示例实现代码,您可以轻松地将这个工具集成到您的项目和应用程序中。
相关工具
常见问题解答(FAQ)
什么是 CRC-16 哈希?
CRC-16 哈希生成器的目的是什么?
CRC-16 哈希生成器在线和免费吗?
CRC-16 哈希生成器是否适用于移动设备?
使用 CRC-16 哈希生成器有哪些好处?
CRC-16 哈希生成器如何确保数据的安全性?
CRC-16 哈希生成器需要任何技术技能吗?
我可以用CRC-16哈希生成器进行数字签名吗?
CRC-16哈希生成器支持的最大数据大小是多少?
CRC-16与其他哈希算法有什么区别?
了解更多工具
Base64编码Base64解码图片转Base64PNG转Base64JPEG 转 Base64WebP转Base64转换器TIFF转Base64转换器BPM转Base64转换器GIF 转 Base64AVIF转换为Base64将APNG转换为Base64JSON 转 Base64XML 转 Base64 转换器YAML 转 Base64CSV 转 Base64将TSV转换为Base64二进制转Base64十六进制转Base64八进制转换为Base64HTML转Base64转换器CSS 转 Base64JavaScript 转 Base64ASCII 转 Base64文本转Base64Base64转JSON转换器Base64转XML转换器Base64转YAML转换器Base64转CSV将Base64转换为TSVBase64转二进制转换器Base64转十六进制Base64转八进制转换器Base64到HTML转换器Base64转CSS转换器Base64转Javascript转换器Base64转Ascii转换器Base64 转文本URL编码URL解码JSON URL 编码JSON URL解码HTML编码HTML 解码XML URL 编码XML URL 解码器