PHP basit bir karma gerek

4 Cevap php

Ben bir URL bazı verileri geçirmeden için basit bir müzakere yöntemi oluşturmak gerekir. Bu sadece çoğu insan için açık olmamalı, çok güvenli olması gerekmez.

Karma gönderici ve alıcının kimliği sayısal kimliği içerir gerekiyor ve ben ekli karma okuduktan sonra verileri çözmesi mümkün olmalıdır.

Herhangi bir fikir? Ben karma bu url vb IM, e-posta yoluyla ortak olması gerekiyordu çünkü, mümkün olduğunca kısa olmak istiyorum.

4 Cevap

Hash tek yoludur. Bunu şifresini istiyorsanız, bunu şifrelemek zorunda. mcrypt one of these ile deneyiniz.

Güvenli olmayan şeyler için size base64_encode deneyebilirsiniz yapabilirsiniz Ayrıca 10 ila 36 basamak kadar gelen base_convert her sayısal kimliği. Gizli bir sabiti ile sayının çarpımı da yardımcı olabilir.

$obscurity = base_convert($recipientId * 42, 10, 36) . ':' . base_convert($senderId * 42, 10, 36)

Base64 kodlama / kod çözme sahipsiniz. : apache seçeneği "MultiViews" veya apache mod_rewrite ile birlikte koymak, yapmak edeceğini adresler benziyorsun

http://mysite.com/messages/[encoded string here]

tekrar çözmek istiyorsanız base64 kesinlikle hile yapmak gerekir.

Bu bir 'karma' olduğunu unutmayın, bir karma genellikle tek yönlü şifreleme anlamına gelir.

$senderId = 1234;
$recipientId = 5678;
$myString = $senderId . ":" . $recipientId;
echo base64_encode($myString);

@ OIS tarafından belirtildiği gibi, şifreleme kullanabilirsiniz.

Yoksa karma kullanımı ve gönderici ve alıcı kimliği id anahtarlı bir veritabanında hash değerleri saklamak olabilir. PHP md5() vardır ve sha1() yerleşik