<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级黄色毛片免费播放视频| 99久久亚洲综合精品成人网| 日韩亚洲国产高清免费视频| 亚洲一级免费视频| 亚洲成人高清在线观看| 青青在线久青草免费观看| 亚洲国产精品乱码在线观看97| 最近中文字幕高清免费中文字幕mv | 亚洲精品免费网站| 在线观看视频免费完整版| 亚洲午夜精品久久久久久app| 性xxxx视频播放免费| 亚洲AV综合永久无码精品天堂 | 成人亚洲网站www在线观看| 又长又大又粗又硬3p免费视频| 久久激情亚洲精品无码?V| 两个人看的www高清免费观看| 亚洲av中文无码乱人伦在线r▽ | 久热综合在线亚洲精品| xxxx日本免费| 亚洲国产精品成人AV在线| 免费大黄网站在线看| a毛片免费全部播放完整成| 亚洲精品人成在线观看| 一个人免费观看在线视频www| 国产综合成人亚洲区| 亚洲色欲久久久综合网东京热| 午夜免费福利小电影| 亚洲精品无码久久| 久久亚洲国产精品五月天婷| 在线免费观看亚洲| 亚洲AV无码AV男人的天堂不卡| 久久久久亚洲精品中文字幕 | 精品成人免费自拍视频| 国产精品亚洲专区在线观看| 又粗又黄又猛又爽大片免费| 成人网站免费看黄A站视频| 亚洲综合成人婷婷五月网址| 亚洲精品tv久久久久久久久久| 99视频在线精品免费| 亚洲国产精品ⅴa在线观看|