Hiển thị kết quả từ 1 đến 10 / 10
  1. #1
    Tham gia
    11-06-2009
    Bài viết
    10
    Like
    0
    Thanked 0 Times in 0 Posts

    Cần chú ý ! Kiểm tra credit card trong C#

    Mình đang làm một trang web bán sách và sử dụng C#.Mình làm đến mục thanh toán tiền mua sách bằng credit card thì không biết kiểm tra cardnumber của các loại card mà khách hàng nhập vào như thế nào.Mong các bạn cho ý kiến giúp mình.Vì làm thế nào để kiểm tra cardnumber nhập vào đúng theo loại card chọn là gì,và kiểm tra cardnumber đó là cardnumber thật hay giả.Mong các bạn giúp đỡ!!
    Quote Quote

  2. #2
    Tham gia
    20-02-2009
    Location
    Ninh Bình
    Bài viết
    567
    Like
    0
    Thanked 34 Times in 31 Posts
    Quote Được gửi bởi tony22 View Post
    Mình đang làm một trang web bán sách và sử dụng C#.Mình làm đến mục thanh toán tiền mua sách bằng credit card thì không biết kiểm tra cardnumber của các loại card mà khách hàng nhập vào như thế nào.Mong các bạn cho ý kiến giúp mình.Vì làm thế nào để kiểm tra cardnumber nhập vào đúng theo loại card chọn là gì,và kiểm tra cardnumber đó là cardnumber thật hay giả.Mong các bạn giúp đỡ!!
    Cho dù bạn có kiểm tra được, thì làm sao bạn có thể biết đó là môt thẻ đã bị đánh cắp hay đã quá thời hạn sử dụng? Các công ty bán hàng trên mạng đều phải trả một số tiền hàng năm cho các công ty cấp phát thẻ tín dụng, để có thể kiểm tra một thẻ tín dụng ngay tức khắc bằng cách gửi một yêu cầu kiểm tra thẳng tới các máy chủ của các công ty cấp phát thẻ tín dụng.

    Tuy nhiên, bạn trước khi gửi yêu cầu thẳng qua các công ty tín dụng, bạn có thể tự kiểm tra số thẻ có thật hay không như sau:

    • Mỗi thẻ có 16 số, ngoại trừ amex có 15 số.
      6 số đầu là dữ liệu chỉ định công ty cấp phát thẻ tín dụng. Trong 6 số này, số đầu tiên chỉ về loại thẻ. 4=visa 5=master card.
      9 số kế tiếp là số thẻ (do dó, một công ty cấp phát thẻ tín dụng có thể cấp phát được một tỷ thẻ).
      Số cuối cùng là số dùng để kiểm tra.


    Dưới đây là cách để kiểm tra số thẻ có thật hay giả:
    • Bắt đầu từ phải qua trái, bỏ số đầu tiên từ bên phải (tức là số dùng để kiểm tra.
      Nhân đôi những số ở trong cột chẵn, đếm từ phải qua, không tính số đầu tiên đã loại bỏ ở trên. Sau khi nhân đôi, nếu là số lớn hơn 9, thì cộng hai số lại. Thí dụ như 10 = 1, 11 = 2, 12 = 3, 18=9, vân vân.
      Cộng tất cả những số lại với nhau, kể cả số dùng để kiểm tra. Nếu chia được cho 10 (không còn số thừa), thì đó là một số thể tín dụng thật.


    Đây là một số thí dụ:

    523245 234583434 9

    6 số đầu 523245 là dữ liệu về công ty tín dụng, số đầu tiên là 5, chỉ định đây là thẻ Master

    Từ phải qua trái, nếu bỏ số kiểm tra, là số 9. nhân đôi tất cả những số ở cột chẵn (từ phải sang), chúng ta có

    5 4 3 4 4 10 2 6 4 10 8 6 4 6 4 9

    trong 16 số, có 7 số đã nhân đôi ở trên, chúng ta có 2 số lớn hơn 9, đó là hai số 10. 1 + 0 bằng 1. Do đó, hai số 10 này sẽ trở thành hai số 1, như sau:

    5 4 3 4 4 1 2 6 4 1 8 6 4 6 4 9

    Bây giờ, nếu cộng tất cả 16 số trên lại với nhau, chúng ta sẽ có một tổng số là 71. 71 chia cho mười còn một số thừa là 1. Do đó, đây là một số thẻ giả.

    Như vậy, nếu chúng ta đổi số kiểm tra, tức là số cuối cùng của thẻ từ 9 sang 8, chúng ta sẽ có kết quả là 70, tức là một số thẻ thật.

    Và lời cuối cùng tôi khuyên các bạn ở đây, cách kiểm tra số thẻ này tôi đưa ra với mục đích để chúng ta cùng học hỏi. Thành thật khuyên các bạn đừng lập lên những số thẻ có thể qua được cái ải kiểm tra số thật/số giả của các mạng bán hàng mà mua hàng ...chuà. Bởi vì họ còn kiểm tra tên tuổi, số nhà, và số kiểm chứng ở sau thể. Mà dẫu bạn có mua được, thì trước sau gì CA cũng tới nhà kiếm bạn.

    *** Có khi nào vì bài viết này, mà một ngày náo đó, một tay mua hàng lậu sáng tác ra ngay cái số thẻ của mình không ta?
    Được sửa bởi dq_ninh lúc 11:46 ngày 16-07-2009

  3. #3
    Tham gia
    11-06-2009
    Bài viết
    10
    Like
    0
    Thanked 0 Times in 0 Posts
    Thành thật rất cảm ơn bạn đã giúp mình.Nguồn kiến thức bạn có rất hữu ích với tất cả những ai chưa hiểu về card.Nhưng nếu đem thuật toán kiểm tra card của bạn vào lap trình để biết loại card đó phù hợp hay không thì phải làm sao?(Mình bỏ qua khả năng phải kiểm tra nhờ vào sự liên lạc với công ty tín dụng để kiểm tra)Chỉ cần dùng thuật toán kiểm tra trong các bước lập trình thì làm thế nào.Chẳng biết có bạn nào đã làm dự án này rồi mong chỉ giúp.Vì đây chỉ là một project về đề tài này thôi nên sẽ không ảnh hưởng đến việc vi phạm pháp luật đâu,chỉ là mình muốn học hỏi từ phía các bạn thôi.Một lần nữa xin chân thành cảm ơn sự giúp đỡ nhiệt tình của bạn dq_ninh đã giúp cho diễn đàn của mình thêm phong phú kiến thức!!!!!!!!!

  4. #4
    Tham gia
    30-10-2007
    Location
    Hà Nội
    Bài viết
    382
    Like
    0
    Thanked 14 Times in 14 Posts

    Hic!!

    Quote Được gửi bởi tony22 View Post
    Thành thật rất cảm ơn bạn đã giúp mình.Nguồn kiến thức bạn có rất hữu ích với tất cả những ai chưa hiểu về card.Nhưng nếu đem thuật toán kiểm tra card của bạn vào lap trình để biết loại card đó phù hợp hay không thì phải làm sao?(Mình bỏ qua khả năng phải kiểm tra nhờ vào sự liên lạc với công ty tín dụng để kiểm tra)Chỉ cần dùng thuật toán kiểm tra trong các bước lập trình thì làm thế nào.Chẳng biết có bạn nào đã làm dự án này rồi mong chỉ giúp.Vì đây chỉ là một project về đề tài này thôi nên sẽ không ảnh hưởng đến việc vi phạm pháp luật đâu,chỉ là mình muốn học hỏi từ phía các bạn thôi.Một lần nữa xin chân thành cảm ơn sự giúp đỡ nhiệt tình của bạn dq_ninh đã giúp cho diễn đàn của mình thêm phong phú kiến thức!!!!!!!!!
    Thật sự thì thuật toán về cách kiểm tra Mã thẻ như vậy đã quá rõ ràng, mình ko hiểu bạn còn hỏi là "Chỉ cần dùng thuật toán kiểm tra trong các bước lập trình thì làm thế nào.." thì không rõ là bạn nghĩ gì. Đơn giản là chúng ta nhận đựoc một chuỗi từ một TextBox, Chúng ta viết một hàm xử lí cái chuỗi đó theo những bước đã miêu tả ở trên, kiểm tra nếu là thật thì qua bước sau (bước xác nhận của nhà cung cấp thẻ), còn nếu mà sai thì thông báo là nhập sai mã thẻ, yêu cầu nhập lại, có vậy thôi...

  5. #5
    Tham gia
    24-11-2007
    Bài viết
    7
    Like
    0
    Thanked 1 Time in 1 Post

    Rất hay !

    Quote Được gửi bởi serivn View Post
    Thật sự thì thuật toán về cách kiểm tra Mã thẻ như vậy đã quá rõ ràng, mình ko hiểu bạn còn hỏi là "Chỉ cần dùng thuật toán kiểm tra trong các bước lập trình thì làm thế nào.." thì không rõ là bạn nghĩ gì. Đơn giản là chúng ta nhận đựoc một chuỗi từ một TextBox, Chúng ta viết một hàm xử lí cái chuỗi đó theo những bước đã miêu tả ở trên, kiểm tra nếu là thật thì qua bước sau (bước xác nhận của nhà cung cấp thẻ), còn nếu mà sai thì thông báo là nhập sai mã thẻ, yêu cầu nhập lại, có vậy thôi...
    it's true
    Khỏi bình luận nữa

  6. #6
    Tham gia
    15-07-2009
    Bài viết
    15
    Like
    0
    Thanked 0 Times in 0 Posts
    Đây là một trong những website dã có code sẵng cho bạn ... bạn có thể download project về tham khảo nha!

    http://www.codeproject.com/KB/valida...validator.aspx

    Chúc bạn thành công!

  7. #7
    Tham gia
    11-06-2009
    Bài viết
    10
    Like
    0
    Thanked 0 Times in 0 Posts
    Cám ơn bạn VNFoxCom đã giúp đỡ.Đó chính là cái mình cần.Nói thật theo chủ quan của mình thì thuật toán là một chuyện còn chuyển phải đem nó lên "bàn mổ" lập trình thì có thể chưa hoàn chỉnh.Mình chỉ muốn tham khảo từ các bạn về những kiến thức đó thôi.Cám ơn các bạn rất nhiều!!!

  8. #8
    Tham gia
    15-07-2009
    Bài viết
    15
    Like
    0
    Thanked 0 Times in 0 Posts
    kho^ng có chi ... chúc bạn thành công !

  9. #9
    Tham gia
    20-02-2009
    Location
    Ninh Bình
    Bài viết
    567
    Like
    0
    Thanked 34 Times in 31 Posts
    Quote Được gửi bởi tony22 View Post
    Cám ơn bạn VNFoxCom đã giúp đỡ.Đó chính là cái mình cần.Nói thật theo chủ quan của mình thì thuật toán là một chuyện còn chuyển phải đem nó lên "bàn mổ" lập trình thì có thể chưa hoàn chỉnh.Mình chỉ muốn tham khảo từ các bạn về những kiến thức đó thôi.Cám ơn các bạn rất nhiều!!!
    Nói như vậy là bạn chỉ cần có source code, chứ không cần hiểu nó check làm sao ư? Thế mà tôi đã lầm và đã tốn công phu để hướng dẫn bạn hiểu về cách kiểm tra số thật/số giả của một thẻ tín dụng.

    Chúc bạn thành công.

  10. #10
    Tham gia
    11-06-2009
    Bài viết
    10
    Like
    0
    Thanked 0 Times in 0 Posts
    Bạn đã hiểu lầm mình rồi.Mình cần hiểu luôn cả về thuật toán lẫn source code.Mình cần source vì mình không làm cách nào để lập trình trên nền thuật toán của bạn cho trọn vẹn được.Source chỉ để tham khảo còn thuật toán luôn luôn cần phải tìm hiểu chứ.Các bạn đừng hiểu nhầm mình.Chia sẻ với nhau kiến thức là việc tốt thôi!

Bookmarks

Quy định

  • Bạn không thể tạo chủ đề mới
  • Bạn không thể trả lời bài viết
  • Bạn không thể gửi file đính kèm
  • Bạn không thể sửa bài viết của mình
  •