我想做一个加密的算法,就是两次的异或的那个算法,但是异或是二进制的运算,所以我
考虑要把字符直接转化成ASCII码表示,然后再异或一个值,加密就这样完成。解密的话,
就直接异或那个值。
现在我的问题是如何把一个字符型的值转化成二进制的ASCII码。
请各位大虾指点!!^0^

解决方案 »

  1.   

    //字符加密
    function pass(pstr:string):string;var str,str1:string;
       i,j:integer;
    begin
     str:=pstr;
       for i:=1 to length(str) do begin
    //进行第一次变换
    j:=(i*i*i mod (i+20))+(i*i mod (i+10))+i*2+1;
    str1:=str1+chr(ord(str[i])+j); //第二次变换
    j:=(i*i*i mod (i+10))+(i*i mod (i+20))+i*2+1;
    str1:=str1+chr(ord(str[i])+j); end;
    pass:=str1;
    end;
      

  2.   

    S : String;
    S := 'abc';
    Ord(S[1]) 就是'a'的Ascii码不过,你这个冲起量只能算变码
      

  3.   

    用ord()函数得到一个字符的ASCII吗
      

  4.   

    转变为 BYTE....呵呵 加密的 开始可以慢慢来从简单的开始。
      

  5.   

    学密码学么就从这个开始慢慢的来啦.不过数学要过关.呵呵 :)Encrypt:
    XOR        1101  1001   
               0101  0011   
             _____________                
               1000  1010
    Decrypt:
    XOR        1000  1010 
               0101  0011   
            --------------                 
               1101  1001