发新话题
打印

[原创]多功能编码转换工具 V1.0 (邪八版)

本主题由 冰血封情 于 2008-3-11 18:08 移动

[原创]多功能编码转换工具 V1.0 (邪八版)

信息来源:邪恶八进制信息安全团队(www.eviloctal.com
软件作者:冰封メ心弦

这款软件是我研究URL、ASCII、BASE64、MD5等算法时写的,花了一些时间自创了URL加密的FUNCTION函数、ASCII批量还原,希望大家用的方便。(本软件转换字符为全自动)

V1.0
增加了MD516位、MD532位的转换。
增加了[我要提问]按钮。
增加了ASCII码批量转换/还原功能。
增加了URL编码批量转换/还原功能。
增加了BASE64批量转换/还原功能。
修正了ASCII码、Base64、MD5不支持汉字功能的BUG。
-------------------------------------------------------------------------------------------------------------------
下载地址: 多功能编码转换工具 V1.0.rar (21.78 KB)

TOP

挺实用的,可以再加个对文件MD5,方便对下的东西验证下。
还可以加个SHA1 算法的HASH功能。

TOP

回复 沙发 syspro 的帖子

谢谢您的建议,对文件MD5功能会在2。0版本推出

TOP

贴几个javascript进制转换工具(来自Internet)

<script>
        function toBin(form)
        {
                base = parseInt(form.base.value);
                num = parseInt(form.num.value);
                form.amount.value = num.toString(base);
        }
</script>
<form name=numform>
<center>
    要转换的数
    <input type=text name=num size=8>
    转换的进制数
    <input type=text name=base size=8 value=2
        onBlur="if ((this.value<1)||(this.value>36)){alert('The base must be between 2 and 36.');this.select();this.focus();}">
    <input type=button value="转换" onclick="toBin(this.form)">
<input type=text name=amount size=15>
</center>
</form>

TOP

sql进制转换

自己SQL学到了"全局,局部变量申明",但是这个看不懂,等到时间老师教我们吧
==================================================
/****************************************************************
                Hex2Int(即16进制转10进制)函数

        形参:  h, 数据类型:varchar,变量有效长度为8位       
       
****************************************************************/

create    function hextoint(@h varchar(8))
        returns bigint  
begin

        declare @r bigint --局部变量申明:r,数据类型bigint  
        set @r=0
        declare @i bigint
        set @i=1
        while @i<=len(@h)

        begin

                set @r=@r+
                convert(int,
                (
                        case  
                        when substring(@h,@i,1)<='9' then substring(@h,@i,1)
                        when substring(@h,@i,1)<='A' then '10'
                        when substring(@h,@i,1)<='B' then '11'
                        when substring(@h,@i,1)<='C' then '12'
                        when substring(@h,@i,1)<='D' then '13'
                        when substring(@h,@i,1)<='E' then '14'
                        when substring(@h,@i,1)<='F' then '15'
                        end
                        )
                )
                *power(16,len(@h)-@i)
               
                set @i=@i+1
               
        end
       
        return @r


end


go




create   function inttohex(@i int)
returns varchar(15)  
begin


--declare @i int
--set @i=11259375

declare @r varchar(10)   
set @r=''


while @i/16>0
begin


set @r=
(case  
when (@i % 16)<=9 then convert(varchar(1),@i % 16)
when (@i % 16)=10 then 'A'
when (@i % 16)=11 then 'B'
when (@i % 16)=12 then 'C'
when (@i % 16)=13 then 'D'
when (@i % 16)=14 then 'E'
when (@i % 16)=15 then 'F'
end)
+@r

--select @r,@i

set @i=@i/16


end

--select @r,@i


if @i>0  
set @r=(case  
when (@i % 16)<=9 then convert(varchar(1),@i % 16)
when (@i % 16)=10 then 'A'
when (@i % 16)=11 then 'B'
when (@i % 16)=12 then 'C'
when (@i % 16)=13 then 'D'
when (@i % 16)=14 then 'E'
when (@i % 16)=15 then 'F'
end)+@r

-- select @r


return @r


end
go

TOP

这个javascript进制转换也不错(没整理)

进制转换二、三、五、八、十、十六进制互换程序

要完成此效果需要两个步骤



第一步:把如下代码加入到<head>区域中



<SCRIPT LANGUAGE="JavaScript">
<!-- Begin
var hex = new Array("0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E", "F");
function CKparseInt(n, r) {
for (var i = 0; i < n.length; ++i)

if (n.charAt(i) >= r) {

alert("格式错");

return 0;

}

if (isNaN(M = parseInt(n, r)))

alert ("格式错");

return M;

}

// decimal to any other base 2 to 16

function DecimaltoAnother(A, radix) {

s = "";

while (A >= radix) {

s += hex[A % radix];  // remainder

A = Math.floor(A / radix); // quotient, rounded down

}

return transpose(s += hex[A]);

}

// string reversal

function transpose(s) {

N = s.length;

for (i = 0,t = ""; i < N; i++)

t += s.substring(N-i-1, N-i); // s.substring(from, to)

return t;

}

// convert item.value using radix

function EvalAny(item, r) {

M = CKparseInt(item.value, r); // check this one

for (var i = 0, MyForm = document.forms[0]; i < MyForm.length; ++i) // re-evaluate all

MyForm.elements.value = DecimaltoAnother(M, MyForm.elements.name.substr(1,3));

}

//  End -->

</script>





第二步:把如下代码加入到<body>区域中



<center>

  <h3>进制转换</h3>

  <br>

<form method="post">

<table border=0 align=center>

<tr>

<td align=right>

          <p>二进制:</p>

        </td>

<td><input name="b002" value="0" onChange="EvalAny(this, 2)" size=27></td>

</tr>

<tr>

        <td align=right>三进制:</td>

<td><input name="t003" value="0" onChange="EvalAny(this, 3)" size=21></td>

</tr>

<tr>

        <td align=right>五进制:</td>

<td><input name="q005" value="0" onChange="EvalAny(this, 5)" size=16></td>

</tr>

<tr>

        <td align=right>八进制:</td>

<td><input name="o008" value="0" onChange="EvalAny(this, 8)" size=12></td>

</tr>

<tr>

        <td align=right>十进制:</td>

<td><input name="d010" value="0" onChange="EvalAny(this, 10)" size=11></td>

</tr>

<tr>

        <td align=right>十六进制:</td>

<td><input name="h016" value="0" onChange="EvalAny(this, 16)" size=8></td>

</tr>

</table>

</form>

</center>

TOP

有Bug 还原Base64的时候出现下标越界

TOP

好东西啊,要了。。。。。。。。。。。

TOP

发新话题