Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,029

HOME > PHP > PHP Forum > สอบถามเรื่องการเข้ารหัสและการถอดรหัส สำหรับใช้กับรหัสผ่านของระบบ Login ครับ



 

สอบถามเรื่องการเข้ารหัสและการถอดรหัส สำหรับใช้กับรหัสผ่านของระบบ Login ครับ

 



Topic : 124315



โพสกระทู้ ( 37 )
บทความ ( 0 )



สถานะออฟไลน์




เกริ่นก่อนครับ ระบบเดิมเป็นเว็บแอพที่ถูกพัฒนาด้วย C# + ASP.NET มีการ Login อยู่แล้ว โดยใช้ Database MSSqlServer
ผมได้ Convert Database ทั้งหมดมาจาก MSSqlServer มาใส้ไว้ใน MySQL เรียบร้อยแล้ว
ปัจจุบันผมเขียนเว็บแอพโดยใช้ php เชื่อมต่อกับฐานข้อมูล MySQL ตอนนี้ต้องการทำระบบ Login โดยใช้ข้อมูลเดิม
ติดปัญหาตรงที่ข้อมูล Password ที่ใช้เข้าสู่ระบบได้ถูกเข้ารหัสมาครับ

ขอยกตัวอย่างเช่นคำว่า 'password'
ข้อมูลใน Database ของคำนี้ถูกบันทึกในรูปแบบนี้ครับ

B0-81-DB-E8-5E-1E-C3-FF-C3-D4-E7-D0-22-74-00-CD

เลยสงสัยว่ามันเป็นการเข้ารหัสแบบไหน
และมีวิธีการตรวจสอบการ Login อย่างไรได้บ้างครับ โดยใช้ PHP

ขอบคุณครับ



Tag : PHP, MySQL, Ms SQL Server 2008, HTML/CSS, Web (ASP.NET), C#







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2016-08-21 12:36:04 By : thanabordees93 View : 1895 Reply : 12
 

 

No. 1



โพสกระทู้ ( 411 )
บทความ ( 0 )



สถานะออฟไลน์


ถ้าเป็นเจ้าของโค้ดเดิม แนะนำให้ไปดูโค้ดเดิม แล้วทำเลียนแบบครับ จะเป็นวิธีการที่ดีที่สุด

วิธีอื่นๆที่ทำได้หากเปลี่ยนมาใช้ PHP คือ ไม่ต้องสนใจว่าเขาเข้ารหัสยังไง แต่ ทำการเข้ารหัสใหม่เลย ด้วยวิธีของ PHP ซึ่งจะเสียเวลาน้อยที่สุด .... วิธีนี้มีข้อเสียข้อเดียวคือ user ทุกคนต้องทำการขอรหัสผ่านใหม่ แต่ก็ไม่ได้ยากอะไรครับ ถ้าเราเป็นเจ้าของเว็บจริงๆ






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-08-21 16:13:38 By : goragod
 


 

No. 2



โพสกระทู้ ( 37 )
บทความ ( 0 )



สถานะออฟไลน์


ตัวอย่าง Code เดิมครับ ขอยกตัวอย่างมาเฉพาะในส่วนของการ Encode และ Decode นะครับ

การเข้ารหัสแบบนี้สามารถแปลงเป็น PHP ได้มั้ยครับ พอดีไม่มีความรู้เรื่อง C# นะครับ

ขอบคุณครับ

Code (C#)
using System;
using System.Security.Cryptography;
using System.Text;

namespace SoftwareTest
{
	/// <summary>
	/// Summary description for Security.
	/// </summary>
	public class Security
	{
		public Security()
		{
			//
			// TODO: Add constructor logic here
			//
		}
		public static string Encrypt(string pCleanString) {
			Byte[] clearBytes = new UnicodeEncoding().GetBytes(pCleanString);
			Byte[] hashedBytes = ((HashAlgorithm) CryptoConfig.CreateFromName("MD5")).ComputeHash(clearBytes);
			
			return BitConverter.ToString(hashedBytes);
		}

		public static string base64Encode(string data)
		{
			try
			{
				byte[] encData_byte = new byte[data.Length];
				encData_byte = System.Text.Encoding.UTF8.GetBytes(data);    
				string encodedData = Convert.ToBase64String(encData_byte);
				return encodedData;
			}
			catch(Exception e)
			{
				throw new Exception("Error in base64Encode" + e.Message);
			}
		}

		public string base64Decode(string data)
		{
			try
			{
				System.Text.UTF8Encoding encoder = new System.Text.UTF8Encoding();  
				System.Text.Decoder utf8Decode = encoder.GetDecoder();
    
				byte[] todecode_byte = Convert.FromBase64String(data);
				int charCount = utf8Decode.GetCharCount(todecode_byte, 0, todecode_byte.Length);    
				char[] decoded_char = new char[charCount];
				utf8Decode.GetChars(todecode_byte, 0, todecode_byte.Length, decoded_char, 0);                   
				string result = new String(decoded_char);
				return result;
			}
			catch(Exception e)
			{
				throw new Exception("Error in base64Decode" + e.Message);
			}
		}
	}
}

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-08-22 10:39:00 By : thanabordees93
 

 

No. 3



โพสกระทู้ ( 1,095 )
บทความ ( 0 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์


http://php.net/manual/en/function.base64-decode.php


ไม่รู้ว่าใน PHP กับ .net จะเหมือนกันมั้ย ลอง ดูของ PHP
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-08-22 11:13:05 By : คนมีเสน่ห์
 


 

No. 4



โพสกระทู้ ( 37 )
บทความ ( 0 )



สถานะออฟไลน์


เปลี่ยนวิธีการเป็น gen รหัสผ่านใหม่แล้วครับ ตอนนี้ติดปัญหาตรงส่งอีเมล์เพื่อยืนยันรหัสผ่านครับ
ผมเลือกใช้วิธีส่งจาก gmail แต่อีเมล์มันไม่เข้าครับ รบกวนช่วยดุโค๊ดให้ทีครับ

ขอบคุณครับ

Code (PHP)
		 	require_once('PHPMailer/class.phpmailer.php');
		 	$mail = new PHPMailer();
		 	$mail->IsHTML(true);
		 	$mail->IsSMTP();
		 	$mail->SMTPAuth = true; // enable SMTP authentication
		 	$mail->SMTPSecure = "ssl"; // sets the prefix to the servier
		 	$mail->Host = "smtp.gmail.com"; // sets GMAIL as the SMTP server
		 	$mail->Port = 465; // set the SMTP port for the GMAIL server
		 	$mail->Username = "อีเมล์ที่ใช้ส่ง@gmail.com"; // GMAIL username
		 	$mail->Password = "รหัสผ่าน Gmail"; // GMAIL password
		 	$mail->From = "[email protected]"; // "[email protected]";
		 	$mail->FromName = "Mr.Tester";  // set from Name
		 	$mail->Subject = "Test sending mail.";
		 	$mail->Body = "My Body & <b>My Description</b>";

		 	$mail->AddAddress("อีเมล์ผู้รับ@gmail.com", "Mr.Receive Tester"); // to Address

		 	$mail->set('X-Priority', '1'); //Priority 1 = High, 3 = Normal, 5 = low
		 	$mail->Send();

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-08-23 11:32:00 By : thanabordees93
 


 

No. 5



โพสกระทู้ ( 411 )
บทความ ( 0 )



สถานะออฟไลน์


1.อยู่ใน junk หรือเปล่า
2.delay หรือเปล่า บางที delay เป็นวันเลย
3.โดนบล๊อคหรือเปล่า gmail เรื่องเยอะ
4.ติดจำกัดการส่งหรือเปล่า gmail ฒันจำกัดการส่งต่อวัน

สาเหตุ เพียบ

ลองเปลี่ยนมาใช้ mailgun ดู
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-08-23 15:42:26 By : goragod
 


 

No. 6



โพสกระทู้ ( 4,720 )
บทความ ( 8 )



สถานะออฟไลน์


ปัจจุบัน php มีฟังก์ชั่นรองรับการ hash รหัสผ่านแบบใหม่ๆแล้ว (PHP 5.5+, PHP 7) ซึ่งแข็งแกร่งกว่า md5 sha1 shaXXX เยอะแยะมาก
ถ้าเปลี่ยนแล้วก็อยากแนะนำให้ใช้ได้ถูกงานเพื่อความปลอดภัย
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-08-23 20:06:09 By : mr.v
 


 

No. 7



โพสกระทู้ ( 37 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 6 เขียนโดย : mr.v เมื่อวันที่ 2016-08-23 20:06:09
รายละเอียดของการตอบ ::
ขอบคุณมาก ๆ เลยครับ จากที่ลองดูเหมือนจะแปลงกลับมาเป็นข้อความไม่ได้ คือในกรณีที่ User ลืมรหัสผ่านให้ใช้วิธี Gen รหัสผ่านใหม่เลย ผมเข้าใจถูกไหมครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-08-24 09:05:58 By : thanabordees93
 


 

No. 8



โพสกระทู้ ( 4,720 )
บทความ ( 8 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 7 เขียนโดย : thanabordees93 เมื่อวันที่ 2016-08-24 09:05:58
รายละเอียดของการตอบ ::
ใช่ครับ แปลงกลับมาได้มันไม่ปลอดภัยเลย

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-08-24 09:07:13 By : mr.v
 


 

No. 9



โพสกระทู้ ( 37 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 5 เขียนโดย : goragod เมื่อวันที่ 2016-08-23 15:42:26
รายละเอียดของการตอบ ::
ใช้งานได้แล้วนะครับ Mailgun เพิ่งเห็นว่ามันมีเชื่อมต่อผ่าน smtp ด้วย แต่ทีนี้ระยะเวลารอส่งนานนิดนึงนะครับ ตรงนี้สามารถแก้ไขได้ที่ไหนครับ
ขอบคุณครับ



ประวัติการแก้ไข
2016-08-24 11:44:22
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-08-24 10:29:56 By : thanabordees93
 


 

No. 10



โพสกระทู้ ( 411 )
บทความ ( 0 )



สถานะออฟไลน์


บัญชีฟรีมันส่งตามคิวครับ อาจช้านิดนึง แต่เท่าที่ลอง มันก็ส่งได้ดีครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-08-24 12:17:45 By : goragod
 


 

No. 11



โพสกระทู้ ( 37 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 10 เขียนโดย : goragod เมื่อวันที่ 2016-08-24 12:17:45
รายละเอียดของการตอบ ::
รบกวนสอบถามอีกนิดนึงครับพี่ ผมลองเปลี่ยนอีเมล์ผู้รับ ตอนแรกใช้ gmail ส่งได้ตามปกติ
พอเปลี่ยนเมล์ผู้รับเป็นเมล์ของบริษัท มันแจ้ง ERROR ว่า

Message could not be sent.Mailer Error: SMTP Error: data not accepted.SMTP server error: DATA END command failed Detail: Sandbox subdomains are for test purposes only. Please add your own domain or add the address to authorized recipients in domain settings. SMTP code: 554

ผมเลยลองทดสอบเมล์ภายนอกส่งหาเมล์ภายในบริษัทเมล์เข้าตามปกตินะครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-08-24 13:50:04 By : thanabordees93
 


 

No. 12



โพสกระทู้ ( 411 )
บทความ ( 0 )



สถานะออฟไลน์


ถ้าจำไม่ผิด Mailgun อาจต้องลงทะเบียนชื่อผู้สง ก่อนครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-08-25 07:51:52 By : goragod
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : สอบถามเรื่องการเข้ารหัสและการถอดรหัส สำหรับใช้กับรหัสผ่านของระบบ Login ครับ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 03
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่