CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Java >  安全专题

SHA-1 加密后无法在Oracle中保存的问题

楼主maoga(毛干)2005-06-02 01:22:00 在 Java / 安全专题 提问

我使用的oracle9i数据库,字符集为UTF8  
  使用下面方法对密码进行加密:  
    static   public   String   encryptSHA(String   strMessage)  
    {  
        if   (strMessage   ==   null)  
            return   null;  
        try  
        {  
            byte[]   plainText   =   strMessage.getBytes("UTF8");  
            MessageDigest   messageDigest   =   MessageDigest.getInstance("SHA-1");  
            messageDigest.update(plainText);  
            return   new   String(messageDigest.digest(),   "UTF8");  
        }  
        catch   (Exception   e)  
        {  
            e.printStackTrace();  
            return   strMessage;  
        }  
    }  
  在一些少数情况下产生的密文保存到数据库时报数库时报错:  
  例如密码为   “jjjjjjjjjjjjjjjj”   时错误信息如下:  
  java.sql.SQLException:   ORA-06550:   第   1   行,   第   69   列:    
  PLS-00103:   出现符号   "???"在需要下列之一时:  
    (   -   +  
        case   mod   new   not   null   others   <an   identifier>  
        <a   double-quoted   delimited-identifier>   <a   bind   variable>   avg  
        count   current   exists   max   min   prior   sql   stddev   sum   variance  
        execute   forall   merge   time   timestamp   interval   date  
        <a   string   literal   with   character   set   specification>  
        <a   number>   <a   single-quoted   SQL   string>   pipe  
   
  这种情况有办法处理吗?  
  如果我的数据库字符集为oracle默认字符集时,加密码方法应该如何修改? 问题点数:100、回复次数:1Top

1 楼pigo()回复于 2005-06-06 14:18:10 得分 100

 
  Hash出来的byte数组,使必须再进行hextoString或者base64处理的。  
  然后返回的字符串时全部由ASCII码组成的,这样才不会出任何问题。  
   
   
  //以下代码仅仅示例,你自己去寻找   base64的class吧。  
  return     base64.encode(messageDigest.digest());  
   
  Top

相关问题

  • VB调用,EXCEL保存加密问题!!!
  • ▂▃▄▅▇█▉如何保存加密的网页?██▇▅▄▃▂
  • 关于加密密匙保存
  • vb 对数据库加密(access,oracle等)
  • 关于口令加密保存的问题
  • 怎样对oracle包进行加密(存储过程能够加密)?
  • 如何加密、解密保存在配置文件里面的口令?
  • 求一个加密保存文件的类,分不够就加,谢谢了!
  • 谁知道ORACLE的存储过程怎样加密?
  • 怎样对Oracle数据库中的包加密?

关键词

  • 字符集
  • 数据库
  • 密码
  • oracle
  • null
  • messagedigest
  • strmessage
  • utf8
  • base64

得分解答快速导航

  • 帖主:maoga
  • pigo

相关链接

  • CSDN Java频道
  • Java类图书
  • Java类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo