常用代码

  • 异或运算加密
/**加密算法**/
private static short encryption(short msgId, short mesType) {
    short y;
    short desCode;
    y = (short) ((msgId % 10 * 10 + msgId % 100 / 10 + mesType * 2) % 100);
    System.out.println("y:" + y);
    desCode = (short) BLE_Cipher[y];
    return desCode;
}
  • CRC8校验
/**
 * CRC8校验码
 * @param buffer
 * @param key
 * @return
 */
public static byte getCRCR8(byte[] buffer, short key) {
    short i;
    byte crc;
    crc = 0;
    int ptr = 0;
    int len;
    len = buffer.length;
    while (len-- != 0) {
        for (i = 0x80; i != 0; i >>= 1) {
            if ((crc & 0x80) != 0) {
                crc <<= 1;
                crc ^= key;
            } else {
                crc <<= 1;
            }
            if ((buffer[ptr] & i) != 0) {
                crc ^= key; /* 校验模数 */
            }
        }
        ptr++;
    }
    return crc;
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 获取window的三种方式(最后一种最靠谱) 简述:宏定义的后面没有符号 0.0.Block的使用 (1) 方法调...
    IIronMan阅读 4,044评论 0 6
  • 0. NSLog的调试 1. 退回输入键盘 2. CGRect 3. CGPoint & CGSize 4. 设...
    iYeso阅读 2,256评论 0 1
  • 判断邮箱格式是否正确的代码 判断是否有特殊字符 判断是否包含汉字 身份证号码验证 判断字符串是否为空+(NSStr...
    Arackboss阅读 4,619评论 3 2
  • 1、获取window的三种方法 2、Block的使用(1)方法调用: (2)属性调用 3、Profile文件的设置...
    爱吃鱼的小灰阅读 3,826评论 0 13
  • 其实时间不重要,倒是我见不得自己的模糊。现补上昨天的作业,我自己好自为之。y养成习惯。 昨天的事情里没有哪个是有价...
    lygly9阅读 1,443评论 0 0