
oracle自带的加密和解密方法如果是同一个DESDECRYPT,那么肯定会在参数里面说明区别和用法,我对此方法不了解也就是说对这个方法的参数使用不了解,但用法应该类似如下:
insert into mytable(FieldA,FieldB) values('AAAAAA',自带方法('BBBBB',其他参数))
---对插入B列的内容加密
select FieldA,自带方法(FieldB,其他参数) as FieldB from mytable
---对存放在B列的内容解密
加密的字符串一般是在 程序当中生产的比如现在流行的16位 md5加密码。一般都是在程序当中对用户输入的 真实密码。进行一个MD5加密,会生产一个加密码。然后按需要截取其中16位。在把这16位MD5加密码 字符串 存取在数据库当中。在用户登入的时候。用户会输入真的密码在进行加密截取。然后和数据库当中的进行比较。如果成功则true反之为fasle
没有
下载oracle数据库软件并解压。点击setupexe,选择安装。
2关闭电脑的防火墙,再继续安装。这里选择默认安装路径。
3点击下一步,如果出现下面的情况,先删除安装目录下的所有的文件,再点击选择“是”,进入下一步。
4点击“安装”就进入安装程序阶段。
MD5解密方法
我在存储数据库的时候,通过md5加密方法将字段进行加密,当我在读取该字段时如何正确的读取原来的值啊
------解决方案--------------------
没办法,MD5是不可逆的。
你需要使用可逆加密算法。
------解决方案--------------------
插入表中的时候md5加密
比如:
$sql= "insert into register(names,pswd,repswd) values( '$_POST[names] ',md5( '$_POST[pswd] '),md5( '$_POST[repswd] ')) ";
$qid=mysql_query($sql);
读取的时候
$pswd=empty($_POST[ 'pswd ']) ' ':md5($_POST[ 'pswd ']);
------解决方案--------------------
如果业务要求可还原,那么不要采用MD5,请使用可逆加密算法,如DES加密。
MD5为不可逆散列算法,可用于存储用户密码,存储后不需要永远不需要知道明文。密码比较时只需将用户输入的密码再次转成MD5码与存储的相比较即可得知用户输入密码是否正确。
linux/unix *** 作系统一般采用MD5进行用户密码加密。
------解决方案--------------------
MD5目前所谓的破解只是采用碰撞法找到了对等因子。
比如:string1的MD5码为MD1,而现在我们做到的只是又找到了一个string2,它的MD5码也是MD1。
结果就是:用户登陆某采用MD5加密的系统时,本来密码是12345,现在可能用abcde也能登陆。
想想可能还原吗?如果可以还原,那天大的信息也能用32位长的字符串表示了,这不成了超级压缩算法了吗,整个宇宙的信息都可以用32位长表示了。不可逆的!
可以例用Oracle
自带的Wrap工具实现,此工具在$ORACLE_HOME/BIN目录下,具体如下
1、设置字符集环境变量
set
NLS_LANG=CHINESE_CHINAZHS16GBK
2、创建一个存储过程文件
在E:\下创建testsql文件,内容如下:
create
or
replace
procedure
test1(i
in
number)
as
begin
dbms_outputput_line('
输入参数是'||to_char(i));
end;
3、加密
c:\>
cd
%ORACLE_HOME%\BIN
c:\>wrap
iname=e:\test1sql
PL/SQL
Wrapper:
Release
81700
-
Production
on
Tue
Nov
27
22:26:48
2001
Copyright
(c)
Oracle
Corporation
1993,
2000All
Rights
Reserved
Processing
test1sql
to
test1plb
4、运行test1plb
sqlplus
/nolog
SQL>conn
TEST/TEST@db01
SQL>
@e:\aplb
过程已创建。
5、运行存储过程
SQL>
set
serveroutput
on
SQL>
execute
test1(1);
输入参数是1
PL/SQL
过程已成功完成。
6、查看存储过程的代码
SQL>
select
name,text
from
all_source
where
type='PROCEDURE'
and
name='TEST1';
结果:看不到其原码
以上就是关于有这样一个需求,在.net中需要将oracle数据库里的一张表加密,在取出来时直接解密,怎么实现全部的内容,包括:有这样一个需求,在.net中需要将oracle数据库里的一张表加密,在取出来时直接解密,怎么实现、如何将密码加密后存入oracle数据库、oracle数据库有自带的加密解密功能吗等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)