当前位置: 首页 > news >正文

app网站开发招聘哈尔滨网站建设

app网站开发招聘,哈尔滨网站建设,网络品牌营销工作总结,公司微网站怎么做的Oracle内部有专门的加密包#xff0c;可以很方便的对内部数据进行加密#xff08;encrypt#xff09;和解密#xff08;decrypt#xff09;. 介绍加密包之前#xff0c;先简单说一下Oracle基本数据类型——RAW类型。 RAW#xff0c;用于保存位串的数据类型#xff0c;类…Oracle内部有专门的加密包可以很方便的对内部数据进行加密encrypt和解密decrypt.   介绍加密包之前先简单说一下Oracle基本数据类型——RAW类型。   RAW用于保存位串的数据类型类似于CHAR声明方式RAW(L)L为长度以字节为单位作为数据库列最大2000作为变量最大32767字节。      操作RAW类型的函数     utl_raw.cast_to_raw([varchar2])将varchar2转换为raw类型     utl_raw.cast_to_varchar2([raw])将raw转换为varchar2类型     hextoraw()十六进制字符串转换为raw     rawtohex()将raw串转换为十六进制       注RAW保存的为16进制数当使用HEXTORAW时会把字符串中数据当作16进制数。而使用UTL_RAW.CAST_TO_RAW时直接把字符串中每个字符的ASCII码存放到RAW类型的字段中。            egselect hextoraw(abc) from dual;    --输出结果为 ABC     egselect utl_raw.cast_to_raw(abc) from dual;    --输出结果为 616263a的ASCII码值为97转换成16进制数为61   下面介绍一下Oracle中的加密包 1Dbms_Obfuscation_Toolkit9i   利用Dbms_Obfuscation_Toolkit包,我们可以对数据进行DES,Triple DES或者MD5加密      DESGETKEY   -- 产生密钥,用于DES算法      DES3GETKEY  -- 产生密钥,用于Triple DES算法      DESENCRYPT  -- 用DES算法加密数据      DESDECRYPT  -- 用DES算法解密数据      DES3ENCRYPT -- 用Triple DES算法加密数据      DES3DECRYPT -- 用DES算法解密数据      MD5         -- 用MD5算法加密数据   加密包中分别采用raw和string两种数据类型加密分别测试一下注加密的字符串(input_string)必须是8的倍数 DES算法加密解密 DECLAREv_input VARCHAR2(100) : 12345678;v_key VARCHAR2(100) : oracle9i;-- ORA-28232: obfuscation 工具箱的输入长度无效原因是加密字符串必须是8的倍数encrypted_str VARCHAR2(4000);decrypted_str VARCHAR2(4000);encrypted_raw RAW(4000);decrypted_raw RAW(4000); BEGIN-- string类型加密解密-- encrypt(string)dbms_obfuscation_toolkit.desencrypt(input_string v_input, key_string v_key, encrypted_string encrypted_str);dbms_output.put_line(Encrypted string: || encrypted_str);dbms_output.put_line(Encrypted hex value: || utl_raw.cast_to_raw(encrypted_str));-- decrypt(string)dbms_obfuscation_toolkit.desdecrypt(input_string encrypted_str, key_string v_key, decrypted_string decrypted_str);dbms_output.put_line(Decrypted String: || decrypted_str);-- raw类型加密解密-- encrypt(raw)dbms_obfuscation_toolkit.desencrypt(input utl_raw.cast_to_raw(v_input), key utl_raw.cast_to_raw(v_key), encrypted_data encrypted_raw);dbms_output.put_line(Encrypted Raw: || encrypted_raw);dbms_output.put_line(Encrypted hex value: || rawtohex(encrypted_raw));-- decrypt(raw)dbms_obfuscation_toolkit.desdecrypt(input encrypted_raw, key utl_raw.cast_to_raw(v_key), decrypted_data decrypted_raw);dbms_output.put_line(Decrypted String: || utl_raw.cast_to_varchar2(decrypted_raw)); END;注DES算法加密的key长度必须大于等于8而且加密的结果只跟其前8位有关推测可能是截取了字符串 Triple DES算法加密DES3ENCRYPT用法同DES基本类似安全性叫DES算法更高     同理Triple DES算法的key长度必须大于等于16且结果只与其前16位有关  Extra数据类型PLS_INTEGER可以存储一个有符号的整型值其精度范围和BINARY_INTEGER一样是-2^31~2^31 MD5算法加密 DECLAREv_str VARCHAR2(100) : 123456;v_key VARCHAR2(100) : oracle9i;encrypted_str VARCHAR2(32);encrypted_raw RAW(32); BEGIN-- encrypted as stringdbms_obfuscation_toolkit.MD5(input_string v_str || v_key, checksum_string encrypted_str);dbms_output.put_line(Encrypted String: || encrypted_str);dbms_output.put_line(Encrypted hex value: || utl_raw.cast_to_raw(encrypted_str));-- encrypted as rawdbms_obfuscation_toolkit.MD5(input utl_raw.cast_to_raw(v_str || v_key), checksum encrypted_raw);dbms_output.put_line(Encrypted Raw: || encrypted_raw);dbms_output.put_line(Encrypted hex value: || rawtohex(encrypted_raw)); END;注MD5算法只能正向加密但它多次对于同一数据的加密计算结果是相同的。   2dbms_crypto10g以后   dbms_crypto包默认只有sysdba用户才可执行其他任何用户都需要sysdba进行授权   sysgrant execute on dbms_crypto to scott; -- 示例不考虑BLOB类型的加密DECLAREv_str VARCHAR2(20) : 12345678; -- 加密的字符串v_type PLS_INTEGER : dbms_crypto.DES_CBC_PKCS5; -- 加密类型v_key RAW(256);v_key1 VARCHAR2(100) : oracle9i012;encrypted_raw RAW(256);decrypted_raw RAW(256); BEGIN-- 生成随机16位密钥 (1个byte等于两位raw)v_key : dbms_crypto.RandomBytes(8);dbms_output.put_line(Encrypted Key: || v_key);-- 加密encrypted_raw : dbms_crypto.Encrypt(src utl_raw.cast_to_raw(v_str), typ v_type, key v_key);dbms_output.put_line(Encrypted Raw: || encrypted_raw);dbms_output.put_line(Encrypted hex value: || rawtohex(encrypted_raw));-- 解密decrypted_raw : dbms_crypto.Decrypt(src encrypted_raw, typ v_type, key v_key);dbms_output.put_line(Decrypted String: || utl_raw.cast_to_varchar2(decrypted_raw)); END;可以加加密和解密的内容写入函数中方便使用的时候直接调用。转载于:https://www.cnblogs.com/colaclicken/p/10972444.html
http://wiki.neutronadmin.com/news/80057/

相关文章:

  • 公司做网站费用和人员配备宜兴网站建设哪家好
  • 手机如何建免费网站武义网站建设
  • 做暧暧国外网站网站建设与管理出来工资
  • 同一个地方做几个网站win7搭建wordpress
  • 科技局网站查新怎么做网站前端设计是什么意思
  • 手机怎样做网站app开发软件价格
  • 无锡企业网站seowordpress相关问题
  • 网站建设的目的是什么如何建网站做传奇网友
  • 网站维护一般需要多久镇江vi设计
  • 有了公网ip如何做网站没网站做cpa广告联盟
  • 沈阳微信网站开发wordpress 询价记录
  • 网站开发 cms该网站正在建设
  • 泰顺机械网站建设昆明网站推广公司
  • 阿里巴巴官方网站行业软件定制开发
  • 营销型网站建站步骤是什么意思网站开发毕业设计说明
  • 设计素材网站无版权微信小程序开发大赛
  • 10000个免费货源网站宁波搭建网站价格
  • 网站建设专业术语常见的一级域名com代表
  • 设计一个企业网站报价商业网站域名
  • 一级a做爰片365网站深圳画册设计师
  • 做网站的技术哪个简单为什么做网站还要续费
  • 怎么做建设网站莱芜在线电话
  • 那种非法网站怎么做的内部网站建设依据文件
  • wordpress首页筛选厦门seo外包平台
  • 潍坊公司网站模板建站公众号排版编辑器app
  • 网站开发常用插件怎么建立信息网站平台
  • 有没有工程外包的网站网站建设企业熊掌号
  • 中山做百度网站的公司吗数字创意设计包括哪些行业
  • 肥西县重点工程建设管理局网站wordpress教程文档
  • 网站建设平台的比较怎么开发自己的网站