मैं अपना PHP कोड Google App Engine - Java पर माइग्रेट कर रहा हूं।
तो मुझे जावा,
में PHP के क्रिप्ट फ़ंक्शन के समतुल्य की आवश्यकता है क्योंकि मैंने अपने डीबी में क्रिप्ट का उपयोग करके पंजीकृत उपयोगकर्ताओं के सभी पासवर्ड
संग्रहीत किए हैं।जावा में PHP के क्रिप्ट फ़ंक्शन के समतुल्य
संपादित करें 1: यहाँ पासवर्ड एन्क्रिप्ट के लिए मेरे php कोड है:
$ पासवर्ड = "test123";
$ pwd = crypt ($ पासवर्ड, $ पासवर्ड);
echo $ pwd;
temjCCsjBECmU
कोई मुझे equivalted जावा कोड दे सकते हैं:
आउटपुट (विंडोज के साथ-साथ पर एक लिनक्स आधारित सर्वर HostMonser पर) है?
मैं विभिन्न क्रमपरिवर्तन
MessageDigest वर्ग के साथ & संयोजनों की कोशिश की है, लेकिन यह सही नहीं मिल सकता है ..
संपादित 2:
:यहाँ नमूना कोड जो मैं काम करेगा सोचा लेकिन नहीं किया है
try {
{
String password = "test123";
MessageDigest digest = MessageDigest.getInstance("MD5");
byte[] passwordBytes = password.getBytes();
digest.reset();
digest.update(passwordBytes);
digest.update(passwordBytes);
byte[] message = digest.digest();
StringBuffer hexString = new StringBuffer();
for (int i=0; i < message.length; i++)
{
hexString.append(Integer.toHexString(
0xFF & message[ i ]));
}
String encrypted = hexString.toString();
System.out.println(encrypted);
} } catch (NoSuchAlgorithmException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
कृपया मुझे बताएं कि आप डिफ़ॉल्ट (डीईएस) क्रिप्ट एल्गोरिदम का उपयोग नहीं कर रहे हैं .... एक कारण है कि आधुनिक यूनिक्स क्रिप्ट उपयोगिता के साथ नहीं आते हैं - इसे पहले तोड़ा गया है। –
@ बिली ओनेल: PHP का डिफ़ॉल्ट ओएस निर्भर है। लिनक्स/बीएसडी पर, यह नमकीन एमडी 5 (वास्तव में पुराने संस्करणों को छोड़कर) के लिए डिफ़ॉल्ट है। नए संस्करण भी एक नई योजना का उपयोग कर सकते हैं, जैसे नमकीन SHA512। – Powerlord
@ बिली ओनेल: हालांकि, कोड जो डीटीए * बस * पोस्ट किया गया है वास्तव में डीईएस है ... PHP 5.2 या उससे कम के साथ एक विंडोज मशीन पर होना चाहिए। – Powerlord