• Wrap加密一些注意点(中文汉字加密的问题)


    感觉加密后如果有中文汉字的时候加密后的文件几乎是原来文件的两倍大。而且运行加密后的脚本速度也慢了好几倍,可能会慢了10倍吧,至于为什么会这样我也不清楚。

    不加密的代码可用,但用wrap加密过的plb代码无法通过编译环境:
    oracle9201 window xp profession
    加密命令如下:
    本人尝试了以下二种方法
    方法一:
    set NLS_LANG=AMERICAN_AMERICA.WE8ISO8859P1
    wrap iname=Lwsf_Manage_PackageHead.sql edebug=wrap_new_sql
    pause
    wrap iname=Lwsf_Manage_PackageBody.sql edebug=wrap_new_sql
    pause
    加密成功生成 plb文件
    方法二:
    set NLS_LANG=AMERICAN_AMERICA.USACII7
    wrap iname=Lwsf_Manage_PackageHead.sql edebug=wrap_new_sql
    pause
    wrap iname=Lwsf_Manage_PackageBody.sql edebug=wrap_new_sql
    pause
    加密成功生成 plb文件

    但加载plb产生编译错误信息如下:
    SQL> @lwsf_manage_packagehead.plb

    程序包已创建。

    SQL> @lwsf_manage_packagebody.plb;

    警告: 创建的包体带有编译错误。

    SQL> show errors
    PACKAGE BODY PKG_LWSF_MANAGE 出现错误:

    LINE/COL ERROR
    -------- -----------------------------------------------------------------
    759/5 PL/SQL: SQL Statement ignored
    762/54 PL/SQL: ORA-00905: 缺少关键字
    831/5 PL/SQL: SQL Statement ignored
    852/61 PL/SQL: ORA-01747: 无效的用户.表.列,表.列,或列规格
    1170/5 PL/SQL: SQL Statement ignored
    1171/63 PL/SQL: ORA-00933: SQL 命令未正确结束
    3383/5 PL/SQL: SQL Statement ignored
    3419/17 PL/SQL: ORA-00917: 缺少逗号
    3817/5 PL/SQL: SQL Statement ignored
    3843/33 PL/SQL: ORA-03001: 未执行的特性
    3903/5 PL/SQL: SQL Statement ignored

    LINE/COL ERROR
    -------- -----------------------------------------------------------------
    3914/4 PL/SQL: ORA-00911: 无效字符
    4492/5 PL/SQL: SQL Statement ignored
    4515/6 PL/SQL: ORA-00911: 无效字符
    4661/5 PL/SQL: SQL Statement ignored
    4676/62 PL/SQL: ORA-00923: 未找到预期 FROM 关键字
    SQL> spool off;

    set NLS_LANG=AMERICAN_AMERICA.WE8ISO8859P1
    wrap iname=Lwsf_Manage_PackageHead.sql edebug=wrap_new_sql
    pause
    wrap iname=Lwsf_Manage_PackageBody.sql edebug=wrap_new_sql
    pause
    加密后的文件plb有些中文可以看到,并不是乱码!

    SET NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
    wrap iname=Lwsf_Manage_PackageHead.sql edebug=wrap_new_sql
    pause
    wrap iname=Lwsf_Manage_PackageBody.sql edebug=wrap_new_sql
    pause
    代码编译全部通过

  • 相关阅读:
    LeetCode.1(两数之和)
    LeetCode.56(合并区间)
    c++ 数字与字符串的相互转换
    软件工程作业-面向对象方法学
    linux终端下解决you need to be root to perform this command
    vue中 v-bind 与 v-model的区别
    vue的核心:虚拟DOM 和 diff 算法
    弱实体集的必要性、属性随笔
    Ubuntu 18.04下Intel SGX应用程序程序开发——获得OCALL调用的返回值
    Ubuntu 18.04 INTEL SGX 修改案例打印Hello Enclave
  • 原文地址:https://www.cnblogs.com/liubiqu/p/428598.html
Copyright © 2020-2023  润新知