Javascript 在java中生成CHAP响应
目前,我正在尝试用java生成chap响应。它在php中工作。。。但是我们的后端需要用java完成Javascript 在java中生成CHAP响应,javascript,java,php,Javascript,Java,Php,目前,我正在尝试用java生成chap响应。它在php中工作。。。但是我们的后端需要用java完成 var challenge = "cda9af6faa83d0883d694fa58d2e88wh"; var password = "password123"; var hexchal = challenge.packHex(); var newchal = hexchal; var response = md5('\0' + password + newchal) 我已经设法找到了一些jav
var challenge = "cda9af6faa83d0883d694fa58d2e88wh";
var password = "password123";
var hexchal = challenge.packHex();
var newchal = hexchal;
var response = md5('\0' + password + newchal)
我已经设法找到了一些javascript代码,但是响应只差了几个字符
function getPapPassword(){
//function to add value padding to a string of x length default : null padding
String.prototype.pad = function (length, padding) {
var padding = typeof padding === 'string' && padding.length > 0 ? padding[0] : '\x00'
, length = isNaN(length) ? 0 : ~~length;
return this.length < length ? this + Array(length - this.length + 1).join(padding) : this;
};
//function to convert hex to ascii characters
String.prototype.packHex = function () {
var source = this.length % 2 ? this + '0' : this
, result = '';
for (var i = 0; i < source.length; i = i + 2) {
result += String.fromCharCode(parseInt(source.substr(i, 2), 16));
}
return result;
};
var challenge = "cda9af6faa83d0883d694fa58d2e88wh";
var password = "password123";
var hexchal = challenge.packHex();
var newchal = hexchal;
var response = md5('\0' + password + newchal);
}
return response;
}
函数getPapPassword(){
//函数将值填充添加到x长度的字符串默认值:null padding
String.prototype.pad=函数(长度、填充){
var padding=typeof padding=='string'&&padding.length>0?padding[0]:'\x00'
,长度=isNaN(长度)?0:~~长度;
返回this.lengthpublic class App{
public String convertHexToString(String hex){
StringBuilder sb = new StringBuilder();
StringBuilder temp = new StringBuilder();
//49204c6f7665204a617661 split into two characters 49, 20, 4c...
for( int i=0; i<hex.length()-1; i+=2 ){
//grab the hex in pairs
String output = hex.substring(i, (i + 2));
//convert hex to decimal
int decimal = Integer.parseInt(output, 16);
//convert the decimal to character
sb.append((char)decimal);
temp.append(decimal);
}
System.out.println("Decimal : " + temp.toString());
return sb.toString();
}
public static void main(String[] args) {
App app = new App();
System.out.println("ASCII : " + app.convertHexToString("9f9585f4e88305fde280c762925f37af"));
}
}
公共类应用程序{
公共字符串转换HEXTOSTRING(字符串十六进制){
StringBuilder sb=新的StringBuilder();
StringBuilder temp=新的StringBuilder();
//49204c6f7665204a617661拆分为两个字符49、20、4c。。。
对于(inti=0;iYou需要正确地编写Java服务器页面(JSP)代码,对吗?我这样做是为了使用radius对用户进行身份验证,并且需要这个chap响应。