公司做的系統是給某公司內網的系統。做了乙個滲透測試。提出一點漏洞,關於使用者名稱和密碼在傳輸中是用明文傳輸的,但後台接到後已經做了md5加密進行校驗而且還是內網,一般這個是沒問題的。但提出了漏洞就改唄,加個密。思路是前端加密,後端解密。
前端
base64.js:function submitform()
//base64加密 解密
/* //1.加密
var result = base.encode('125中文'); //--> "mti15lit5pah"
//2.解密
var result2 = base.decode(result); //--> '125中文'
*/~(function(root, factory) else if (typeof module === "object" && module.exports) else
}(this, function()
//public method for encoding
base64.prototype.encode = function (input) else if (isnan(chr3))
output = output +
this._keystr.charat(enc1) + this._keystr.charat(enc2) +
this._keystr.charat(enc3) + this._keystr.charat(enc4);
}return output;
}// public method for decoding
base64.prototype.decode = function (input)
if (enc4 != 64)
}output = this._utf8_decode(output);
return output;
}// private method for utf-8 encoding
base64.prototype._utf8_encode = function (string) else if((c > 127) && (c < 2048)) else
}return utftext;
}// private method for utf-8 decoding
base64.prototype._utf8_decode = function (utftext) else if((c > 191) && (c < 224)) else
}return string;
}var base = new base64();
return base;
}));
後端工具類:
package com.sasis.util;
import sun.misc.base64decoder;
import sun.misc.base64encoder;
public final class base64util
/*** 採用base64演算法對位元組陣列進行加密
* @param basebuff 原位元組陣列
* @return 加密後的字串
*/public static final string encode(byte basebuff)
/*** 字串解密,採用base64的演算法
* @param encoder 需要解密的字串
* @return 解密後的字串
*/public static final string decode(string encoder) catch (exception e) }}
後端處理:
string username1 = request.getparameter("j_username");
string password1 = request.getparameter("j_password");
log.info("使用者名稱:"+username1);
log.info("密碼:"+password1);
//後端解密
string username=base64util.decode(username1);
string password=base64util.decode(password1);
******dateformat sdf=new ******dateformat("yyyy-mm-dd hh:mm:ss");
string time=sdf.format(new date());
Base64加密解密
public class base64 對應asicc字元的位置 public static string base64encode string str c2 str i if i len c3 str i out base64encodechars c1 2 out base64encodech...
base64加密 例子
12349 50 51 31 32 33 00110001 00110010 00110011 001100 010011 001000 110011 00001100 00010011 00001000 00110011 12 19 8 51 mtiz base64編碼說明 base64編碼要求把...
Base64 加密 解密
1 原理 轉碼過程例子 3 8 4 6 記憶體1個字元佔8位 轉前 s 1 3 先轉成ascii 對應 115 49 51 2進製 01110011 00110001 00110011 6個一組 4組 011100110011000100110011 然後才有後面的 011100 110011 00...