亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? 回復在jsp中作http認證的方法,(希望版主可以把它貼到專題文章中).txt

?? Java技術收集很多各種技術總結
?? TXT
字號:
作者:unixboy_xu
email: unixboy@yeah.net
日期:2000-12-18 15:36:40

最近研究了jsp中作HTTP認證的問題,它的工作方式如下:

1、server發送一個要求認證代碼401和一個頭信息WWW-authenticate,激發browser彈出一個認證窗口

2、server取得browser送來的認證頭"Authorization",它是加密的了,要用Base64方法解密,取得明文的用戶名和密碼

3、檢查用戶名和密碼,根據結果傳送不同的頁面


以下是jsp的片斷,你也可以把它做成include文件。和Base64的加解密的class源碼。
如有興趣可與我聯系:unixboy@yeah.net

<jsp:useBean id="base64" scope="page" class="Base64"/>
<%
if(request.getHeader("Authorization")==null){
   response.setStatus(401);
   response.setHeader("WWW-authenticate", "Basic realm=\"unixboy.com\"");
}else{
   String encoded=(request.getHeader("Authorization"));
   String tmp=encoded.substring(6);
   String up=Base64.decode(tmp);
   String user="";
   String password="";
   if(up!=null){
        user=up.substring(0,up.indexOf(":"));
	password=up.substring(up.indexOf(":")+1);
   }
   if(user.equals("unixboy")&&password.equals("123456")){
        //認證成功
   }else{
        //認證失敗
   }
}
%>


//消息加解密class
public class Base64
{
        /** decode a Base 64 encoded String.
          * <p><h4>String to byte conversion</h4>
          * This method uses a naive String to byte interpretation, it simply gets each
          * char of the String and calls it a byte.</p>
          * <p>Since we should be dealing with Base64 encoded Strings that is a reasonable
          * assumption.</p>
          * <p><h4>End of data</h4>
          * We don't try to stop the converion when we find the "=" end of data padding char.
          * We simply add zero bytes to the unencode buffer.</p>
        */
        public static String decode(String encoded)
        {
                StringBuffer sb=new StringBuffer();
                int maxturns;
                //work out how long to loop for.
                if(encoded.length()%3==0)
                maxturns=encoded.length();
                else
                maxturns=encoded.length()+(3-(encoded.length()%3));
                //tells us whether to include the char in the unencode
                boolean skip;
                //the unencode buffer
                byte[] unenc=new byte[4];
                byte b;
                for(int i=0,j=0; i<maxturns; i++)
                {
                        skip=false;
                        //get the byte to convert or 0
                        if(i<encoded.length())
                        b=(byte)encoded.charAt(i);
                        else
                        b=0;
                        //test and convert first capital letters, lowercase, digits then '+' and '/'
                        if(b>=65 && b<91)
                        unenc[j]=(byte)(b-65);
                        else if(b>=97 && b<123)
                        unenc[j]=(byte)(b-71);
                        else if(b>=48 && b<58)
                        unenc[j]=(byte)(b+4);
                        else if(b=='+')
                        unenc[j]=62;
                        else if(b=='/')
                        unenc[j]=63;
                        //if we find "=" then data has finished, we're not really dealing with this now
                        else if(b=='=')
                        unenc[j]=0;
                        else
                        {
                                char c=(char)b;
                                if(c=='\n' || c=='\r' || c==' ' || c=='\t')
                                skip=true;
                                else
                                //could throw an exception here? it's input we don't understand.
                                ;
                        }
                        //once the array has boiled convert the bytes back into chars
                        if(!skip && ++j==4)
                        {
                                //shift the 6 bit bytes into a single 4 octet word
                                int res=(unenc[0] << 18)+(unenc[1] << 12)+(unenc[2] << 6)+unenc[3];
                                byte c;
                                int k=16;
                                //shift each octet down to read it as char and add to StringBuffer
                                while(k>=0)
                                {
                                        c=(byte)(res >> k);
                                        if ( c > 0 )
                                        sb.append((char)c);
                                        k-=8;
                                }
                                //reset j and the unencode buffer
                                j=0;
                                unenc[0]=0;unenc[1]=0;unenc[2]=0;unenc[3]=0;
                        }
                }
                return sb.toString();
        }
        
        /** encode plaintext data to a base 64 string
          * @param plain the text to convert. If plain is longer than 76 characters this method
          *             returns null (see RFC2045).
          * @return the encoded text (or null if string was longer than 76 chars).
        */
        public static String encode(String plain)
        {
                if(plain.length()>76)
                return null;
                int maxturns;
                StringBuffer sb=new StringBuffer();
                //the encode buffer
                byte[] enc=new byte[3];
                boolean end=false;
                for(int i=0,j=0; !end; i++)
                {
                        char _ch=plain.charAt(i);
                        if(i==plain.length()-1)
                        end=true;
                        enc[j++]=(byte)plain.charAt(i);
                        if(j==3 || end)
                        {
                                int res;
                                //this is a bit inefficient at the end point
                                //worth it for the small decrease in code size?
                                res=(enc[0] << 16)+(enc[1] << 8)+enc[2];
                                int b;
                                int lowestbit=18-(j*6);
                                for(int toshift=18; toshift>=lowestbit; toshift-=6)
                                {
                                        b=res >>> toshift;
                                        b&=63;
                                        if(b>=0 && b<26)
                                        sb.append((char)(b+65));
                                        if(b>=26 && b<52)
                                        sb.append((char)(b+71));
                                        if(b>=52 && b<62)
                                        sb.append((char)(b-4));
                                        if(b==62)
                                        sb.append('+');
                                        if(b==63)
                                        sb.append('/');
                                        if(sb.length()%76==0)
                                        sb.append('\n');
                                }
                                //now set the end chars to be pad character if there 
                                //was less than integral input (ie: less than 24 bits)
                                if(end)
                                {
                                        if(j==1)
                                        sb.append("==");
                                        if(j==2)
                                        sb.append('=');
                                }
                                enc[0]=0; enc[1]=0; enc[2]=0;
                                j=0;
                        }
                }
                return sb.toString();
        }
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
92国产精品观看| 日韩av中文字幕一区二区三区| 国产一区二区视频在线| 精品久久国产97色综合| 黑人巨大精品欧美黑白配亚洲| 欧美精品一区二区三区四区| 风间由美性色一区二区三区| 自拍偷拍亚洲综合| 欧美日精品一区视频| 秋霞午夜鲁丝一区二区老狼| 久久久天堂av| 91偷拍与自偷拍精品| 亚洲午夜免费视频| 欧美一区二区视频在线观看2020| 久久69国产一区二区蜜臀| 国产日韩成人精品| 在线免费视频一区二区| 蜜臀av性久久久久av蜜臀妖精| 久久久另类综合| 色中色一区二区| 蜜桃视频在线观看一区二区| 国产欧美一区二区三区在线看蜜臀 | 亚洲男人的天堂在线观看| 欧美在线一二三四区| 美国三级日本三级久久99| 中文字幕免费不卡在线| 欧美精品在线观看播放| 国产在线精品一区二区夜色| 亚洲三级免费观看| 日韩一级完整毛片| 91亚洲精品久久久蜜桃网站| 麻豆精品精品国产自在97香蕉 | 国产精品免费网站在线观看| 在线观看亚洲精品| 国产老女人精品毛片久久| 亚洲激情五月婷婷| 国产无人区一区二区三区| 欧美性感一区二区三区| 国产91精品一区二区麻豆亚洲| 亚洲成人免费观看| 国产精品理论片在线观看| 日韩欧美国产系列| 色婷婷精品久久二区二区蜜臀av | 国产精品动漫网站| 日韩欧美一区二区三区在线| 91婷婷韩国欧美一区二区| 精品在线免费观看| 亚洲国产日韩av| 国产精品美女一区二区三区| 欧美一级午夜免费电影| 欧美性感一区二区三区| 99久久夜色精品国产网站| 国产美女一区二区三区| 蜜臀av性久久久久蜜臀av麻豆 | 午夜精品免费在线观看| 国产精品久久久久影院亚瑟| 欧美va亚洲va在线观看蝴蝶网| 在线精品观看国产| 色综合久久综合| 国产成人无遮挡在线视频| 久久99精品久久久久久动态图 | 福利电影一区二区| 久久 天天综合| 欧美aaaaaa午夜精品| 天堂一区二区在线| 亚洲一线二线三线视频| 亚洲少妇中出一区| 国产精品乱人伦一区二区| 国产蜜臀av在线一区二区三区| 精品乱人伦小说| 欧美一级艳片视频免费观看| 欧美日产在线观看| 337p亚洲精品色噜噜| 91精品国产综合久久小美女 | 日韩欧美在线123| 欧美日韩中文字幕一区| 欧美日韩综合色| 欧美高清视频一二三区| 欧美无砖专区一中文字| 欧美日韩视频一区二区| 欧美三级在线播放| 91精品国产手机| 欧美成人在线直播| 久久一区二区三区四区| 国产亚洲综合av| 国产精品久久久久久久久免费樱桃 | 成人精品视频一区二区三区| 成人精品电影在线观看| 91丝袜高跟美女视频| 色先锋久久av资源部| 欧美日精品一区视频| 欧美一区二区高清| 精品国产一区二区精华| 国产欧美日韩在线| 亚洲天堂成人在线观看| 一区二区三区鲁丝不卡| 日韩激情在线观看| 国产最新精品免费| 99精品黄色片免费大全| 日本电影欧美片| 日韩欧美一级在线播放| 久久久久久久综合色一本| 亚洲欧美在线视频| 午夜视频一区在线观看| 韩国精品主播一区二区在线观看 | 亚洲在线视频一区| 日本午夜精品一区二区三区电影| 国产综合久久久久久鬼色| 99久久精品免费| 91精品久久久久久久99蜜桃| 国产午夜亚洲精品不卡| 亚洲综合免费观看高清完整版在线| 日韩不卡一二三区| www.亚洲免费av| 欧美一区二区三区小说| 国产精品你懂的| 蜜乳av一区二区三区| aaa欧美色吧激情视频| 欧美一级欧美三级| 亚洲欧洲在线观看av| 免费成人在线观看视频| 91麻豆蜜桃一区二区三区| 日韩欧美一二三区| 亚洲天堂精品视频| 韩国三级在线一区| 欧美视频精品在线观看| 国产精品无遮挡| 免费人成在线不卡| 在线影视一区二区三区| 久久久久9999亚洲精品| 亚洲午夜精品17c| 国产v综合v亚洲欧| 欧美一区日韩一区| 亚洲精品成a人| 国产电影一区二区三区| 91精品在线麻豆| 一区二区三区美女视频| 成人网页在线观看| wwwwww.欧美系列| 日韩—二三区免费观看av| 色欧美日韩亚洲| 国产精品网站在线播放| 韩国女主播成人在线观看| 欧美日韩激情一区二区| 亚洲视频一区在线观看| 国产精品乡下勾搭老头1| 日韩三级在线免费观看| 亚洲va中文字幕| 91小视频免费观看| 国产精品高清亚洲| 成人免费高清视频在线观看| 精品国产一区二区三区不卡| 日本在线不卡视频| 欧美日韩色综合| 一区二区成人在线视频| 成人午夜在线视频| 国产亚洲欧美在线| 久久精品国产99国产| 日韩欧美一级特黄在线播放| 日本欧美一区二区在线观看| 欧美日韩不卡视频| 五月综合激情婷婷六月色窝| 欧美日韩美女一区二区| 亚洲香蕉伊在人在线观| 色视频成人在线观看免| 国产精品久久久久久久第一福利 | 另类小说一区二区三区| 欧美一区二区视频免费观看| 日韩专区中文字幕一区二区| 欧美高清激情brazzers| 青青草国产精品亚洲专区无| 欧美大片在线观看| 国产麻豆精品一区二区| 国产亚洲精品aa| www.亚洲免费av| 一卡二卡欧美日韩| 欧美日韩国产高清一区| 日韩成人dvd| 久久久久青草大香线综合精品| 国产福利精品导航| 国产精品国产三级国产aⅴ原创| 91色视频在线| 亚洲在线观看免费| 日韩欧美在线观看一区二区三区| 国内精品视频666| 欧美激情中文不卡| 91黄色免费看| 欧美96一区二区免费视频| 精品国产免费人成电影在线观看四季| 国产激情视频一区二区三区欧美| 国产精品区一区二区三| 在线视频国内一区二区| 麻豆免费看一区二区三区| 国产欧美视频一区二区| 欧美色手机在线观看| 精品亚洲porn| 亚洲色图自拍偷拍美腿丝袜制服诱惑麻豆 | 国产九色sp调教91| 亚洲欧美国产77777| 91精品国产欧美一区二区成人|