回答編集履歴
2
base64エンコードについて追記
answer
CHANGED
@@ -16,4 +16,24 @@
|
|
16
16
|
```
|
17
17
|
これで重複を避けて暗号化することができます。
|
18
18
|
|
19
|
-
※先ほどの質問への回答で「62進数変換すれば」と申し上げましたが、そもそも10進数21桁の時点で64bit環境ですらオーバーフローするので現実的な手法ではありませんでした。お詫びして訂正します。
|
19
|
+
※先ほどの質問への回答で「62進数変換すれば」と申し上げましたが、そもそも10進数21桁の時点で64bit環境ですらオーバーフローするので現実的な手法ではありませんでした。お詫びして訂正します。
|
20
|
+
|
21
|
+
### open_sslが使えない環境とのことなので
|
22
|
+
暗号化する必要がなければ、base64エンコードでどうでしょう?
|
23
|
+
```PHP
|
24
|
+
$a = '9999999999999999999';
|
25
|
+
$b = '99';
|
26
|
+
$str = (string)$a.$b;
|
27
|
+
$b64enc = base64_encode($str);
|
28
|
+
echo $b64enc;//OTk5OTk5OTk5OTk5OTk5OTk5OTk5
|
29
|
+
$b64dec = base64_decode($b64_enc);
|
30
|
+
echo $b64dec;//999999999999999999999
|
31
|
+
|
32
|
+
$a = '1234567890123456789';
|
33
|
+
$b = '99';
|
34
|
+
$str = (string)$a.$b;
|
35
|
+
$b64enc = base64_encode($str);
|
36
|
+
echo $b64enc;//MTIzNDU2Nzg5MDEyMzQ1Njc4OTk5
|
37
|
+
$b64dec = base64_decode($b64_enc);
|
38
|
+
echo $b64dec;//123456789012345678999
|
39
|
+
```
|
1
追記
answer
CHANGED
@@ -14,4 +14,6 @@
|
|
14
14
|
$decrypt = openssl_decrypt($encrypt,'aes-256-ecb',$key);
|
15
15
|
echo $decrypt;//999999999999999999999
|
16
16
|
```
|
17
|
-
これで重複を避けて暗号化することができます。
|
17
|
+
これで重複を避けて暗号化することができます。
|
18
|
+
|
19
|
+
※先ほどの質問への回答で「62進数変換すれば」と申し上げましたが、そもそも10進数21桁の時点で64bit環境ですらオーバーフローするので現実的な手法ではありませんでした。お詫びして訂正します。
|