<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    編程生活

       :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
      113 隨筆 :: 0 文章 :: 18 評論 :: 0 Trackbacks

    http://www.scribd.com/doc/76413826/161/Managing-RDBMS-Authentication 

    private String parsePassword(String passInStr)
      
    {
        
    if ((passInStr == null|| (passInStr.length() < 1)) {
          
    if (this.allowPlaintext)
            
    return passInStr;
          
    throw new PasswordHashException(ProvidersLogger.getPlaintextPasswordUsageRejected());
        }


        
    char[] passIn = passInStr.toCharArray();
        
    if (passIn[0!= '{')
        
    {
          
    if (this.allowPlaintext)
            
    return passInStr;
          
    throw new PasswordHashException(ProvidersLogger.getUnableParseHashedPassword());
        }


        
    int i = 1;
        
    while ((i < passIn.length) && (passIn[i] != '}'))
          i
    ++;
        
    if (i >= passIn.length)
        
    {
          
    if (this.allowPlaintext)
            
    return passInStr;
          
    throw new PasswordHashException(ProvidersLogger.getUnableParseHashedPassword());
        }


        String algorithm 
    = new String(passIn, 1, i - 1);
        
    int offset = i + 1;
        
    try
        
    {
          
    this.hashAlg = getHashAlgorithm(algorithm);
        }
     catch (PasswordHashException e) {
          
    if (this.allowPlaintext)
            
    return passInStr;
          
    throw e;
        }

        
    if ((this.hashAlg == null|| (this.hashAlg.getB64Size() == -1)) {
          
    this.hashAlg = null;
          
    if (this.allowPlaintext)
            
    return passInStr;
          
    throw new PasswordHashException(ProvidersLogger.getUnableParseHashedPassword());
        }


        
    int totalRemaining = passIn.length - offset;
        
    int saltSize = totalRemaining - this.hashAlg.getB64Size();
        
    if (saltSize < 0{
          
    this.hashAlg = null;
          
    if (this.allowPlaintext)
            
    return passInStr;
          
    throw new PasswordHashException(ProvidersLogger.getUnableParseHashedPassword());
        }


        
    if (saltSize > 0{
          
    this.salt = new String(passIn, offset, saltSize);
          offset 
    += saltSize;
        }


        
    char[] encodedPwdHashFromDB = new char[passIn.length - offset];
        System.arraycopy(passIn, offset, encodedPwdHashFromDB, 
    0, passIn.length - offset);
        
    return new String(encodedPwdHashFromDB);
      }


     

    posted on 2012-04-27 14:27 wilesun 閱讀(438) 評論(0)  編輯  收藏
    主站蜘蛛池模板: 亚洲A丁香五香天堂网| 日韩免费视频播放| 久久亚洲国产精品五月天婷| 亚洲AV无码专区在线观看成人 | 亚洲另类图片另类电影| 99ee6热久久免费精品6| 亚洲国产成人久久综合一 | 在线A亚洲老鸭窝天堂| 一级人做人爰a全过程免费视频 | 一级视频在线免费观看| 免费在线观看中文字幕| 一级免费黄色大片| 亚洲av午夜成人片精品网站| 无码av免费网站| 亚洲成a人片在线观| 成年女人毛片免费视频| 亚洲精品V天堂中文字幕| 成人亚洲网站www在线观看| 人体大胆做受免费视频| 亚洲精品乱码久久久久久| 精品视频一区二区三区免费| 亚洲美女激情视频| 日韩成人免费在线| 无码的免费不卡毛片视频| 精品亚洲综合久久中文字幕| 99久久国产免费中文无字幕| 亚洲av永久无码精品三区在线4 | 亚洲中文字幕无码久久精品1| 中文字幕视频在线免费观看| 亚洲伊人tv综合网色| 国内外成人免费视频| XXX2高清在线观看免费视频| 亚洲综合网美国十次| 日本特黄特色免费大片| 拍拍拍无挡免费视频网站| 亚洲综合色7777情网站777| 亚洲国产V高清在线观看| 日韩人妻一区二区三区免费| 亚洲人成网站免费播放| 久久精品国产亚洲网站| 大陆一级毛片免费视频观看|