C#(char)偏移量 (char)((int)(s[i - 1]) + 3) 加密方法转PHP

        #region 加密字符串  
        /// <summary> /// 加密字符串   
        /// </summary>  
        /// <param name="str">要加密的字符串</param>  
        /// <returns>加密后的字符串</returns>  
        public static string testEncrypt(string s)
        {
            string ret = string.Empty;
            int L;                             
            L = s.Length;                      
            char[] arr = new char[L];           
            arr[0] = s[L - 1];                

            for (int i = 1; i < L; i++)
                arr[i] = (char)((int)(s[i - 1]) + 3);
            for (int i = 0; i < L; i++)
            {
                ret += arr[i];     
            }
            return ret;
        }
        #endregion

        #region 解密字符串   
        /// <summary>  
        /// 解密字符串   
        /// </summary>  
        /// <param name="str">要解密的字符串</param>  
        /// <returns>解密后的字符串</returns>  
        public static string testDecrypt(string s)
        {
            string ret = string.Empty;
            if(!string.IsNullOrEmpty(s))
            {
                int L;
                L = s.Length;
                char[] arr = new char[L];

                for (int j = 0; j < L; j++)
                {
                    arr[j] = (char)((int)(s[j]));
                }


                char[] arr_decode = new char[L];
                arr_decode[L - 1] = arr[0];
                for (int i = 1; i < L; i++)
                    arr_decode[i - 1] = (char)((int)(arr[i]) - 3);

                for (int i = 0; i < L; i++)
                {
                    ret += arr_decode[i];
                }
            }

            return ret;
        }
        #endregion

PHP 

        function testEncrypt($s){
            $res = '';
            $len = mb_strlen($s);
            $arr = [];
            $arr[0] = mb_substr($s,$len-1,1);
            for($i=1;$i<$len;$i++){
                $arr[$i] = mb_chr(mb_ord(mb_substr($s,$i-1,1))+3,'UTF-8');
            }
            for ($i=0;$i<$len;$i++) {
                $res .= $arr[$i];
            }
            return $res;
        }
    
        function testDecrypt($s){
            $res = '';
            $len = mb_strlen($s);
            $arr = [];
            for($i=1;$i<$len;$i++){
                $arr[$i-1] = mb_chr(mb_ord(mb_substr($s,$i,1))-3,'UTF-8');
            }
            $arr[] = mb_substr($s,0,1);
            for ($i=0;$i<$len;$i++) {
                $res .= $arr[$i];
            }
            return $res;
        }

猜你喜欢

转载自blog.csdn.net/liuxl57805678/article/details/107410611