당신이 원하는 언어가 VBScript를 (또는 뭔가 다른) 경우에도, 기존 ASP에서 자바 스크립트를 사용할 수 있습니다 여기에
는 방법이다.
자바로 구현 된 Google Closure library에는 MD5 해시 클래스가 포함되어 있습니다. Closure lib는 Apache Source License를 통해 라이센스되므로 누구나 자유롭게 수정하고 다시 사용할 수 있습니다.
Here is a version 해당 Closure 전제 조건없이 사용할 수 있도록 수정 된 MD5 해시입니다. 당신은 다음과 같이 사용할 수 있습니다 :
// extension to the string object
if (typeof String.prototype.toMd5 != 'function') {
String.prototype.toMd5 = function() {
var s = this, bytes = [], i, L = s.length, c,
md5, hash;
// assume all 8-bit chars (eg, ascii, IBM-437, etc);
// take lower 8 bits of each string char.
for (i = 0; i < L; ++i) {
c = s.charCodeAt(i);
bytes.push(c & 255);
}
md5 = new Md5();
md5.update(bytes);
hash = md5.digest();
return hash;
};
}
당신에있는 md5 클래스를 포함 :
var md5 = new Md5();
md5.update(bytes); // array of byte values
hash = md5.digest();
당신은 문자열의 MD5 해시를 계산하려는 경우,이 같은 문자열 확장이있다. 이 같은 ASP 파일 :
<%@ language="Javascript" %>
<script language="Javascript" runat="server" src='md5.js'></script>
<script language="Javascript" runat="server" src='arrayExtensions.js'></script>
<script language="Javascript" runat="server">
(function() {
...
}());
</script>
그리고 당신은 다음과 같이 자바 스크립트 내에서 사용할 수 있습니다 :
var subject="The quick brown fox jumps over the lazy dog",
hash = subject.toMd5(),
g = hash.map(function(x){return x.toString(16);}),
stringRep = g.join('');
stringRep
을 인쇄하면 예상대로 9e107d9d372bb6826bd81d3542a419d6
이됩니다.
VBScript 내에서 해당 Md5 클래스를 사용하려면 a shim이 필요합니다.
나는 이런 종류의 솔루션에 대해서도 생각하고 있으며, 논리 프로세스를 .NET 코드로 오프 로딩합니다. 실적에 대한 비교가 있습니까? 이 코드는 매우 자주 실행되며 전체 응용 프로그램에 매우 중요합니다. –
ASP에서 .NET 객체를 호출 할 때의 성능을 의미합니까? 내 경험으로는 무시할 만하지만 측정해야합니다. –