首页 > 编程知识 正文

php字符串加密成全是数字(php 数字转字符)

时间:2023-12-24 12:05:29 阅读:320380 作者:VMZH

本文目录一览:

php 字符串转换成数字

1.强制类型转换方式

$foo = "1"; // $foo 是字符串类型

$bar = (int)$foo; // $bar 是整型

2.内置函数方式

$foo = "1"; // $foo 是字符串类型

$bar = intval($foo); // $bar 是整型

3.格式化字符串方式

$foo = "1"; // $foo 是字符串类型

$bar = sprintf("%d", $foo); // $bar 是字符串类型

关于php 类似md5那种加密出来全小写混合数字但是可以解密的函数有没有

可以使用字符串到16进制和16进制到字符串实现

?php

echo str_encode("哈123abc-=/*-+=");//显示:B9FE3132336162632D3D2F2A2D2B3D

echo str_decode("B9FE3132336162632D3D2F2A2D2B3D");//显示:哈123abc-=/*-+=

function str_encode($string){ //字符串转十六进制

$hex="";

for($i=0;$istrlen($string);$i++)

$hex.=dechex(ord($string[$i]));

$hex=strtoupper($hex);

return $hex;

}   

 

function str_decode($hex){//十六进制转字符串   

$string=""; 

for($i=0;$istrlen($hex)-1;$i+=2)

$string.=chr(hexdec($hex[$i].$hex[$i+1]));

return  $string;

}

php 怎么将字符转成数字

第一种转换方式: 强制转换;

代码:

结果:

第二种转换方式:转换函数,intval()、floatval()、strval();

代码:

结果:

第三种转换方式:通用类型转换函数settype(mixed var,string type);

代码:

结果:

扩展资料:

PHP的数据类型转换属于强制转换,允许转换的PHP数据类型有:

(int)、(integer):转换成整形;

(float)、(double)、(real):转换成浮点型;

(string):转换成字符串;

(bool)、(boolean):转换成布尔类型;

(array):转换成数组;

(object):转换成对象。

参考资料:PHP中文网--类型转换的判别

php加密解密问题,一道10000+公司的phper,大公司的php面试题。

?php

/**

 * 加密解密类

 * 该算法仅支持加密数字。比较适用于数据库中id字段的加密解密,以及根据数字显示url的加密。

 * @author 深秋的竹子

 * @version alpha

 * @加密原则 标记长度 + 补位 + 数字替换

 * @加密步骤:

 * 将a-z,A-Z,0-9 62个字符打乱,取前M(数字最大的位数)位作为 标记长度字符串,取第M+1 到第M+10位为数字替换字符串,剩余的为补位字符串

 * 1.计算数字长度n,取乱码的第n位作为标记长度。

 * 2.计算补位的长度,加密串的长度N -1 - n 为补位的长度。根据指定的算法得到补位字符串。

 * 3.根据数字替换字符串替换数字,得到数字加密字符串。

 * 标记长度字符 + 补位字符串 + 数字加密字符串 = 加密串

 * Usage:

 *   $obj = new XDeode(9);

 *   $e_txt = $obj-encode(123);

 *   echo $e_txt.'br/';

 *   echo $key-decode($e_txt);

 */

class XDeode{

  private $strbase = "Flpvf70CsakVjqgeWUPXQxSyJizmNH6B1u3b8cAEKwTd54nRtZOMDhoG2YLrI";

  private $key,$length,$codelen,$codenums,$codeext;

  function __construct($length = 9,$key = 2543.5415412812){

    $this-key = $key;

    $this-length = $length;

    $this-codelen = substr($this-strbase,0,$this-length);

    $this-codenums = substr($this-strbase,$this-length,10);

    $this-codeext = substr($this-strbase,$this-length + 10);

  }

  function encode($nums){

    $rtn = "";

    $numslen = strlen($nums);

    //密文第一位标记数字的长度

    $begin = substr($this-codelen,$numslen - 1,1);

    //密文的扩展位

    $extlen = $this-length - $numslen - 1;

    $temp = str_replace('.', '', $nums / $this-key);

    $temp = substr($temp,-$extlen);

    $arrextTemp = str_split($this-codeext);

    $arrext = str_split($temp);

    foreach ($arrext as $v) {

      $rtn .= $arrextTemp[$v];

    }

    $arrnumsTemp = str_split($this-codenums);

    $arrnums = str_split($nums);

    foreach ($arrnums as $v) {

      $rtn .= $arrnumsTemp[$v];

    }

    return $begin.$rtn;

  }

  function decode($code){

    $begin = substr($code,0,1);

    $rtn = '';

    $len = strpos($this-codelen,$begin);

    if($len!== false){

      $len++;

      $arrnums = str_split(substr($code,-$len));

      foreach ($arrnums as $v) {

        $rtn .= strpos($this-codenums,$v);

      }

    }

    return $rtn;

  }

}

一个PHP针对数字的加密解密类

你可以参照这个来写

请教一个问题,使用什么加密方式可以把一个字符串变成一串纯数字

字符串中字符的种类,按照ASCII码编码来说有256种,而普通数字每位只有10种,那么编码后的数字字符串必然要比编码前长,比如说是之前的3倍长。

最简单的方法是直接将每个字符的ASCII码用ASCII码取值写出来,比如大写字母A的ASCII码是65,那么就写成065,3个一组表示一个字符;再想加密可以在这个3位数上进行运算,采用比如全都加一个数之类的方法。

PHP怎么加密后是一串数字

应该是自己编写的,,这个也很简单,比如:要加密的数是123,加密算法是:

INT((A*5-A/4)*135+A-A*6),当然以上只是我自己写的一个,具体他是怎么写的要推算,能明白我的意思吗?

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。