SET NLS_LANG=AMERICAN_AMERICA.USAcII7WRAP INAME=D:\S.SQL@D:\S.PLBcreate procedure ... 
是这么用的吗?

解决方案 »

  1.   

    你在过程中的密钥写成chr()||chr()||chr()||..的形式吧。
      

  2.   

    to bobfang(匆匆过客):
    不行啊,我试过了,也是暴露的
      

  3.   

    我没有去试,先假如是成立的
    就是真的是暴露的,要紧吗
    你的过程运行后,plb文件就可以删除了
    这样,加过密的过程还能看得到吗?应当看不到了
    plb文件仅仅是一个中间过程嘛。
    还有,就算是plb文件需要保存,也是存放在特定地点,还害怕别人看?
      

  4.   

    to penitent(只取一瓢) 兄:plb文件确实是可以删除了,但是用户可以用exp倒出包体,倒出文件中还是明文的字符串!
    或者用户也可以使用toad查看加密后的包体,也是明文字符串!
    这个密钥非常重要,甚至不希望用户得知密钥所使用的字符的个数和种类(字母、特殊字符、数字,等等)。
    怎么办?老兄快想个办法!!
      

  5.   

    to penitent(只取一瓢) 兄:plb文件确实是可以删除了,但是用户可以用exp倒出包体,倒出文件中还是明文的字符串!
    或者用户也可以使用toad查看加密后的包体,也是明文字符串!
    这个密钥非常重要,甚至不希望用户得知密钥所使用的字符的个数和种类(字母、特殊字符、数字,等等)。
    怎么办?老兄快想个办法!!
      

  6.   

    我帮你到metalink查了一下,下面是metalink的解释:The wrapping of a PLSQL procedure is not same as encrypting. It is similar to a pre-compilation process that generates an intermediate output. It is somewhat similar to the java byte codes. There is no such enhancement done for the wrap utility of 9i.As a workaround, you may try assigning the values through a SQL statement. 希望这些对你有用。