내가 자바 스크립트에서 동일한 문자열을 얻을 어려움을 겪고 그리고 난 내가 뭔가를 잘못하고 있어요 것을 생각하고 ...자바 (암호화 관련) 자바 스크립트
자바 코드 :
import java.io.UnsupportedEncodingException;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.util.Date;
import java.util.GregorianCalendar;
import sun.misc.BASE64Encoder;
private static String getBase64Code(String input) throws
UnsupportedEncodingException, NoSuchAlgorithmException {
String base64 = "";
byte[] txt = input.getBytes("UTF8");
byte[] text = new byte[txt.length+3];
text[0] = (byte)239;
text[1] = (byte)187;
text[2] = (byte)191;
for(int i=0; i<txt.length; i++)
text[i+3] = txt[i];
MessageDigest md = MessageDigest.getInstance("MD5");
md.update(text);
byte digest[] = md.digest();
BASE64Encoder encoder = new BASE64Encoder();
base64 = encoder.encode(digest);
return base64;
}
나뿐만 아니라 Farhadi Base 64 Encode script
을 Paul's MD5 script를 사용하여이 노력하고있어하지만 내 테스트는 완전히 실패 :(
내 코드 :
을function CalculateCredentialsSecret(type, user, pwd) {
var days = days_between(new Date(), new Date(2000, 1, 1));
var str = type.toUpperCase() + user.toUpperCase() + pwd.toUpperCase() + days;
var padding_data = String.fromCharCode(239) +
String.fromCharCode(187) +
String.fromCharCode(191);
var md5 = hex_md5(padding_data + str);
var b64 = base64Encode(md5);
return encodeURIComponent(b64);
}
어떻게 변환 할 수 있습니까? 이 Java 메소드를 자바 스크립트로 변환 할 수 있습니까?
당신에게 (오늘 (29-09-2010), 3,740일 1 월 1 일 이후, 2000)
테스트
var secret = CalculateCredentialsSecret('AAA', 'BBB', 'CCC');
// secret SHOULD be: S3GYAfGWlmrhuoNsIJF94w==
(1)은 자바 스크립트에 어떠한 타입 바이트 (2) 그 3 선 부호화/암호화 될 문자열 3 개 바이트 값을 추가하는되어 있지 않다. – balexandre
데이터를 전송하고 싶지만 먼저 전달 된 문자열에 MD5 암호화를 적용하고 싶습니다. – balexandre
@balexandre 그들이하는 일을 알고 있습니다. JS에서 해당 작업을 수행하는 방법을 알지 못합니다. – thecoshman