匠迹众包
9人浏览/28人投稿
345天前
已托管赏金
以下是一部分代码 要求就是用易语言写出来fp_raw="43eaf21c6a363deb"let mut veri_code = 0;// 有点像 HEX 的操作let fp_raw_sub_str = fp_raw .as_bytes() // 将字符串 fp_raw 转换为字节数组 .chunks(2) // 按每两个字节一组进行切分 .map(|s| unsafe { ::std::str::from_utf8_unchecked(s) }) // 对每一组解析作为 UTF-8 字符串 .collect::(); // 将结果收集到 Vec 中// 如果 fp_raw 的长度小于 62, 则向下取偶数减半作为循环终止条件, 否则终止条件为31for i in 0..({ if fp_raw.len() < 62 { fp_raw.len() - fp_raw.len() % 2 // 取偶数 } else { 62 }} / 2){ // 将每组字符串转换为对应的 16 进制整数, 将转换得到的整数加到 veri_code 上. veri_code += i32::from_str_radix(fp_raw_sub_str[i], 16).unwrap_or(0);}// 最后将 veri_code 对 256 取余, 格式化为两位的 16 进制字符串let veri_code = format!("{:0>2x}", veri_code % 256);