好得很程序员自学网
  • 首页
  • 后端语言
    • C#
    • PHP
    • Python
    • java
    • Golang
    • ASP.NET
  • 前端开发
    • Angular
    • react框架
    • LayUi开发
    • javascript
    • HTML与HTML5
    • CSS与CSS3
    • jQuery
    • Bootstrap
    • NodeJS
    • Vue与小程序技术
    • Photoshop
  • 数据库技术
    • MSSQL
    • MYSQL
    • Redis
    • MongoDB
    • Oracle
    • PostgreSQL
    • Sqlite
    • 数据库基础
    • 数据库排错
  • CMS系统
    • HDHCMS
    • WordPress
    • Dedecms
    • PhpCms
    • 帝国CMS
    • ThinkPHP
    • Discuz
    • ZBlog
    • ECSHOP
  • 高手进阶
    • Android技术
    • 正则表达式
    • 数据结构与算法
  • 系统运维
    • Windows
    • apache
    • 服务器排错
    • 网站安全
    • nginx
    • linux系统
    • MacOS
  • 学习教程
    • 前端脚本教程
    • HTML与CSS 教程
    • 脚本语言教程
    • 数据库教程
    • 应用系统教程
  • 新技术
  • 编程导航
    • 区块链
    • IT资讯
    • 设计灵感
    • 建站资源
    • 开发团队
    • 程序社区
    • 图标图库
    • 图形动效
    • IDE环境
    • 在线工具
    • 调试测试
    • Node开发
    • 游戏框架
    • CSS库
    • Jquery插件
    • Js插件
    • Web框架
    • 移动端框架
    • 模块管理
    • 开发社区
    • 在线课堂
    • 框架类库
    • 项目托管
    • 云服务

当前位置:首页>后端语言>PHP
<tfoot draggable='sEl'></tfoot>

php异或校验代码 php异常

很多站长朋友们都不太清楚php异或校验代码,今天小编就来给大家整理php异或校验代码,希望对各位有所帮助,具体内容如下:

本文目录一览: 1、 php代码提示:Parse error: syntax error, unexpected T_LOGICAL_XOR, expecting T_STRING 2、 php 简单的异或运算 3、 php 实现crc16验证 modbus该如何实现? 4、 Java的异或与PHP的异或,急求解!!! 5、 其他语言如何解密PHP多字符串的异或加密 6、 PHP判断语句,and和or的使用 php代码提示:Parse error: syntax error, unexpected T_LOGICAL_XOR, expecting T_STRING

function XOR($str1,$str2) {

$temp1=Array();

$temp2=Array();

$hex = "";

if (strlen($str1)!= strlen($str2)) {

echo "异或数据长度不等";

}

for ($i = 0; $i < strlen($str1); $i++) {

$temp1[]=substr($str1,$i,1); //将单个字符存到数组当中------------改动

$temp2[]=substr($str2,$i,1); //将单个字符存到数组当中-----------改动

//$temp1[$i];

$hex = $hex+ strToHex($temp1[$i] ^ $temp2[$i]);

}

return strtoupper($hex);

}

看看这样还报错吗

希望对你有用,望采纳

php 简单的异或运算

异或一下可求出。

<?php

function showXor($a, $b){

       $c=$a^$b;

       printf('%x xor %x = %x <br/>',$a,$c,$b);

}

showXor(0xe79a, 0xc97a);

showXor(0xe520, 0xc520);

e79a xor 2ee0 = c97a 

e520 xor 2000 = c520

php 实现crc16验证 modbus该如何实现?

在工业控制中,Modbus RTU CRC16的校验码用的比较广泛,包括本人富士产品中,PC与伺服电机以及PC与VP系列的变频器的Modbus RTU通讯中都使用到了CRC16.

而对CRC16的计算的方式基本上有2种:第一种,使用双循环依照CRC的计算方法进行计算,第二种,采用查表的方式。本人愚钝无比,从网络上搜来的查表法都与实际的正确CRC16的结果有所差异,因此编写了一个小程序供自己使用。

软件的界面很简单,输入诸如“010303020014”的值,然后每2个字符作为一个字节,填入字节数,然后就可以计算出校验码,校验码的多项式为:X16+X15+X2+1.

程序界面如下:

实现的源代码如下:

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls;

type

TForm1 = class(TForm)

Edit1: TEdit;

Button1: TButton;

Edit2: TEdit;

Edit3: TEdit;

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

Memo1: TMemo;

Label4: TLabel;

function CalCRC16(AData:array of Byte;AStart,AEnd:Integer):Word;

procedure Button1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

{$R *.dfm}

//××××××××××××××××××××××××××

// CalCRC16用于计算Modbus RTU的CRC16

// 多项式公式为X16+X15+X2+1

//××××××××××××××××××××××××××

function TForm1.CalCRC16(AData:array of Byte;AStart,AEnd:Integer):Word;

const

GENP=$A001; //多项式公式X16+X15+X2+1(1100 0000 0000 0101)

var

crc:Word;

i:Integer;

tmp:Byte;

procedure CalOneByte(AByte:Byte); //计算1个字节的校验码

var

j:Integer;

begin

crc:=crc xor AByte; //将数据与CRC寄存器的低8位进行异或

for j:=0 to 7 do //对每一位进行校验

begin

tmp:=crc and 1; //取出最低位

crc:=crc shr 1; //寄存器向右移一位

crc:=crc and $7FFF; //将最高位置0

if tmp=1 then //检测移出的位,如果为1,那么与多项式异或

crc:=crc xor GENP;

crc:=crc and $FFFF;

end;

end;

begin

crc:=$FFFF; //将余数设定为FFFF

for i:=AStart to AEnd do //对每一个字节进行校验

CalOneByte(AData[i]);

Result:=crc;

end;

procedure TForm1.Button1Click(Sender: TObject);

var

Data:array[0..255] of Byte;

i,j,Count:Integer;

Res:Word;

szData:string;

begin

szData:=Form1.Edit2.Text; //读入欲校验的字符串

Count:=StrToInt(form1.Edit3.Text); //读入需要计算的字符串长度

i:=1;

j:=0;

for j:=0 to Count-1 do

begin

if (i mod 2)=0 then //每2个字符放入一个字节中

i:=i+1;

if i>=Length(szData) then

exit;

Data[j]:=StrToInt('$'+copy(szData,i,2)); //取出字符并转换为16进制数

i:=i+1;

end;

Res:=CalCRC16(Data,Low(Data),Count-1);

form1.Edit1.Text:=IntToHex(Res,4);

end;

end.

Java的异或与PHP的异或,急求解!!!

是1,0,报错,推出。

相邻异或,得到一个7位数。试试:看满意么。

import java.util.Scanner;

class Test {

public static void main(String[] args){

int arr[] = new int[8];

Scanner sc = new Scanner(System.in);

System.out.println("please input the binary number");

String s = sc.next();

if(s.length()==8){

for(int i=0;i<8;i++){

char c = s.charAt(i);

if(c == '1'|| c== '0'){

arr[i] = (int)c;

}else{

System.out.println("the number is wrong");

System.exit(0);

}

}

}else {

System.out.println("the number's length is not 8");

System.exit(0);

}

for(int j=0;j<arr.length-1;j++) {

int k = (arr[j])^(arr[j+1]);

System.out.print(k);

}

}

}

其他语言如何解密PHP多字符串的异或加密

利用“^”异或运算对字符串进行加密

思路:1.先创建字符串输入的Scanner;

2.通过char[] array = password.toCharArray();// 获取字符数组;

3.遍历字符数组,按目前理解要用到遍历:数组所有元素进行访问,比如你要输出数组里所有的信息时,就要用到

4.进行异或运算

按位做“异或”运算是:位值相同得1,不同得0

例如:

< 加密过程:>

原解释的二进制为 1 1 0 0 ----原文

设定的key的二进制为 0 1 1 0 ----密匙

两者做“异或”结果为 0 1 0 1 ----密文

< 解密过程:>

0 1 0 1----密文

0 1 1 0----密匙

两者“异或”就得到了原文 1 1 0 0 ----原文

详细代码:

package com.lixiyu;

import java.util.Scanner;

public class Example {

public static void main(String[] args){

Scanner sca=new Scanner(System.in);

System.out.println("请输入一个英文字符串或解密字符串");

String line=sca.nextLine();//获取用户输入信息

char[] array=line.toCharArray();//获取字符数组

for (int i=0;i<array.length;i++){//历遍字符数组

array[i]=(char) (array[i]^20000);//对数组每个元素进行异或运算

}

System.out.println("加密解密结果如下:");

System.out.println(new String(array));//输出密钥

}

}

异或运算:

1 ^ 1 = 0

1 ^ 0 = 1

0 ^ 1 = 1

0 ^ 0 = 0

字符'A' 的ASCII编码为65 : 00000000 01000001

取整数7 : 00000000 00000000 00000000 00000111

XOR运算后 : 00000000 00000000 00000000 01000110

简单加密算法代码如下 :

public class Test {

public static final int KEY = 7;

public static void main(String[] args) {

String str = "Hello World!";

StringBuffer str2 = new StringBuffer(); //存储加密后的字符串

StringBuffer str3 = new StringBuffer(); //存储解密后的字符串

//加密过程

for(int i=0;i<str.length();i++)

{

char c = (char)(str.charAt(i) ^ KEY);

str2.append(c);

}

//解密过程

for(int i=0;i<str2.length();i++)

{

char c = (char)(str2.charAt(i) ^ KEY);

str3.append(c);

}

System.out.println("原始 的字符串为:" + str);

System.out.println("加密后 的字符串为:" + str2);

System.out.println("解密后 的字符串为:" + str3);

}

}

输出:

原始 的字符串为:Hello World!

加密后 的字符串为:Obkkh'Phukc

解密后 的字符串为:Hello World!

PHP判断语句,and和or的使用

编程语言的逻辑判断词意思都一样。and就是并且的意思联合上一条件一起判断,or或者的意思,单独的判断这个条件or其他条件。 希望对您有所帮助。

关于php异或校验代码的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。

查看更多关于php异或校验代码 php异常的详细内容...

声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://www.haodehen.cn/did195186
更新时间:2023-04-26   阅读:23次

上一篇: php数组代码大全 php数组实现

下一篇:php影楼项目介绍 影楼erp

最新资料更新

  • 1.apexphp辅助 apex wr辅助
  • 2.phpwebim开发 php web开发实用教程
  • 3.php浏览页面乱码 php页面字符出现乱码怎么解决
  • 4.天津php公司的 天津程序员公司
  • 5.php操作redis存值 php redis数据类型
  • 6.怎么开发一个php项目 php项目开发流程
  • 7.20个php函数 php的system函数
  • 8.php代理访问源码 php 代理
  • 9.php怎么登录会员 怎么用php完成登录页面
  • 10.php下载csv乱码 php下载文件名乱码
  • 11.php移动gps定位 functionsphp位置
  • 12.PHP网站防止挂马 php防止直接访问
  • 13.php绘制健康码 php源码怎么搭建网站
  • 14.php实现小说目录的方法 php自动生成小说
  • 15.php存储的知识 php会话保存数据的两种方式是
  • 16.php大数据并发 php大数据处理思路
  • 17.原生php提交form php原生开发的好处
  • 18.php前端页面源码 php前端页面源码是多少
  • 19.php仿站技术 用仿站小工具制作网站
  • 20.PHP画饼图动态 python 动态饼图

CopyRight:2016-{hedonghua:year}{hedonghua:sitegs} 备案ICP:湘ICP备09009000号-16 {hedonghua:sitejym}
本站资讯不构成任何建议,仅限于个人分享,参考须谨慎!
本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。
本网站刊载的所有内容(包括但不仅限文字、图片、LOGO、音频、视频、软件、程序等)版权归原作者所有。任何单位或个人认为本网站中的内容可能涉嫌侵犯其知识产权或存在不实内容时,请及时通知本站,予以删除。

网站内容来源于网络分享,如有侵权发邮箱到:kenbest@126.com,收到邮件我们会即时下线处理。
网站框架支持:HDHCMS   51LA统计 百度统计
Copyright © 2018-2025 「好得很程序员自学网」
[ SiteMap ]