検索
ホームページバックエンド開発PHPチュートリアル可逆文字列暗号化アルゴリズムの専門家を求めています

漢字 (厳密な要件ではありません)、英数字、小数点などをサポートする必要があります。暗号化された文字列は数字と文字で構成されます。暗号化後も暗号化前と同じ長さであることが最善です。
「www」など。暗号化前の .qq.com" 文字列


ディスカッションへの返信 (解決策)

同じことが当てはまる場合は、最も単純な置換アルゴリズムを検討できます。置換ルールは自分で定義できます

同じことが当てはまる場合は、最も単純な置換アルゴリズムを検討できます。置換ルールは自分で定義できます。コードはありますか?

漢字を考慮しない場合は、シーザー暗号化を使用してください。

$s = 'www.qq.com~';$k = 13;//加密for($i=0; $i<strlen($s); $i++) {  $n = ord($s{$i}) + $k;  if($n > 126) $n = ($n + 32) & 0x7f;  $s{$i} = chr($n);}echo $s, PHP_EOL; //$$$;~~;p|z+//解密for($i=0; $i<strlen($s); $i++) {  $n = ord($s{$i}) - $k;  if($n < 32) $n = ($n - 32) & 0x7f;  $s{$i} = chr($n);}echo $s; //www.qq.com~

中国語の文字を考慮しない場合は、Caesar 暗号化を使用してください。この方法は優れていますが、暗号化された文字列には数字と文字のみを含めることができます。

漢字を考慮しない場合は、Caesar 暗号化を使用してください

$s = 'www.qq.com~';$k = 13;//加密for($i=0; $i<strlen($s); $i++) {  $n = ord($s{$i}) + $k;  if($n > 126) $n = ($n + 32) & 0x7f;  $s{$i} = chr($n);}echo $s, PHP_EOL; //$$$;~~;p|z+//解密for($i=0; $i<strlen($s); $i++) {  $n = ord($s{$i}) - $k;  if($n < 32) $n = ($n - 32) & 0x7f;  $s{$i} = chr($n);}echo $s; //www.qq.com~

たとえば、「abcdefghijklmnopqrstuvwxyz1234567890_-.」という文字列は、暗号化された後は文字列のみで構成され、数字、-、_、で構成されます。小数点は別のものに変換されます

正しく読めば、ご要望は「暗号化された文字列は数字と文字で構成されています」ということになります
この「文字」で何ができるのかわかりません

英数字の範囲を超える文字は、長さを変えずに英数字で表す必要があります
「象を冷蔵庫に入れる」は単なる冗談ですが、本気で受け止めますか?

生成された文字列に英数字のみが含まれている場合、赤色の文字の条件に従って青色の文字の要件を満たすことは不可能です

漢字 (厳密な要件ではありません)、英数字、小数点をサポートする必要がありますなど。暗号化された文字列は数字と文字で構成されます。暗号化後も暗号化前と同じ長さにするのが最善です

暗号化前の「www.qq.com」文字列など

英数字の範囲を超える文字は、英数字で表され、長さは変更してはなりません
" 「象を冷蔵庫に入れる」は単なる冗談ですが、本気で受け止めますか?

Base64 は「abcdefghijklmnopqrstuvwxyz1234567890_-.」を純粋な数字と文字に変換できませんか?多少長くても大丈夫ですが、base64だと長すぎる気がします

生成される文字列が英数字のみの場合、赤文字部分の条件から青文字の要件を達成することは不可能です

漢字 (厳密な要件ではありません)、文字、数字、小数点などをサポートする必要があります。暗号化された文字列は、暗号化後も暗号化前と同じ長さになることが最善です
たとえば。 、暗号化前の「www.qq.com」文字列

多少長い長さでも問題ありません

バイトのビット知識を理解していれば、base64 が視覚的な非圧縮暗号化の限界であることがわかります。短くしてください。使用できるのは圧縮アルゴリズムのみです

英数字の範囲を超える文字は英数字で表す必要があり、長さは変更しないでください
「象を冷蔵庫に入れる」は単なる冗談ですよね。真面目に受け取る?

Base64 は「abcdefghijklmnopqrstuvwxyz1234567890_-.」を純粋な数字と文字に変換できませんか?多少長くても大丈夫ですが、base64は長すぎる気がします

1バイトで表現できる状態は256個までです
すべての圧縮アルゴリズムは、連続した同一のフラグメントをカウント+フラグメントの形式で保存します
したがって、圧縮はサイズはいつでも縮小できます

Base64 変換には / と = も含まれます
-_ に置き換える必要があります
ただし、base64 は漢字などのあらゆるデータを変換でき、3 文字ごとに 4 文字になり、1/3 長くなります。元の投稿者はもったいないと思ったのでしょう。

は、指定された文字のみを変換するように変更する必要があります。
少なくとも、合計 65 個の有効な文字を変換できる必要があります。
出力にはドットを含めることはできません。有効な文字は合計 64 個あり、理論的には少なくとも 1/64 長くなります。



Base64 変換には / と = も含まれます
は -_ に置き換える必要があります
ただし、base64 は漢字などのあらゆるデータを変換でき、3 文字ごとに 1/3 長い 4 文字になります。元の投稿者はもったいないと思ったのでしょう。

は、指定された文字のみを変換するように変更する必要があります。
少なくとも、合計 65 個の有効な文字を変換できる必要があります。
出力にはドットを含めることはできません。有効な文字は合計 64 個あり、理論的には少なくとも 1/64 長くなります。 理論的には、長さが1/64であればアルゴリズムを求めることも可能です

シフトアルゴリズムは実装可能です

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
PHPの継続的な使用:その持久力の理由PHPの継続的な使用:その持久力の理由Apr 19, 2025 am 12:23 AM

まだ人気があるのは、使いやすさ、柔軟性、強力なエコシステムです。 1)使いやすさとシンプルな構文により、初心者にとって最初の選択肢になります。 2)Web開発、HTTP要求とデータベースとの優れた相互作用と密接に統合されています。 3)巨大なエコシステムは、豊富なツールとライブラリを提供します。 4)アクティブなコミュニティとオープンソースの性質は、それらを新しいニーズとテクノロジーの傾向に適応させます。

PHPおよびPython:類似点と相違点を調査しますPHPおよびPython:類似点と相違点を調査しますApr 19, 2025 am 12:21 AM

PHPとPythonはどちらも、Web開発、データ処理、自動化タスクで広く使用されている高レベルのプログラミング言語です。 1.PHPは、ダイナミックウェブサイトとコンテンツ管理システムの構築によく使用されますが、PythonはWebフレームワークとデータサイエンスの構築に使用されることがよくあります。 2.PHPはエコーを使用してコンテンツを出力し、Pythonは印刷を使用します。 3.両方ともオブジェクト指向プログラミングをサポートしますが、構文とキーワードは異なります。 4。PHPは弱いタイプの変換をサポートしますが、Pythonはより厳しくなります。 5. PHPパフォーマンスの最適化には、Opcacheおよび非同期プログラミングの使用が含まれますが、PythonはCprofileおよび非同期プログラミングを使用します。

PHPおよびPython:さまざまなパラダイムが説明されていますPHPおよびPython:さまざまなパラダイムが説明されていますApr 18, 2025 am 12:26 AM

PHPは主に手順プログラミングですが、オブジェクト指向プログラミング(OOP)もサポートしています。 Pythonは、OOP、機能、手続き上のプログラミングなど、さまざまなパラダイムをサポートしています。 PHPはWeb開発に適しており、Pythonはデータ分析や機械学習などのさまざまなアプリケーションに適しています。

PHPとPython:彼らの歴史を深く掘り下げますPHPとPython:彼らの歴史を深く掘り下げますApr 18, 2025 am 12:25 AM

PHPは1994年に発信され、Rasmuslerdorfによって開発されました。もともとはウェブサイトの訪問者を追跡するために使用され、サーバー側のスクリプト言語に徐々に進化し、Web開発で広く使用されていました。 Pythonは、1980年代後半にGuidovan Rossumによって開発され、1991年に最初にリリースされました。コードの読みやすさとシンプルさを強調し、科学的コンピューティング、データ分析、その他の分野に適しています。

PHPとPythonの選択:ガイドPHPとPythonの選択:ガイドApr 18, 2025 am 12:24 AM

PHPはWeb開発と迅速なプロトタイピングに適しており、Pythonはデータサイエンスと機械学習に適しています。 1.PHPは、単純な構文と迅速な開発に適した動的なWeb開発に使用されます。 2。Pythonには簡潔な構文があり、複数のフィールドに適しており、強力なライブラリエコシステムがあります。

PHPとフレームワーク:言語の近代化PHPとフレームワーク:言語の近代化Apr 18, 2025 am 12:14 AM

PHPは、多数のWebサイトとアプリケーションをサポートし、フレームワークを通じて開発ニーズに適応するため、近代化プロセスで依然として重要です。 1.PHP7はパフォーマンスを向上させ、新機能を紹介します。 2。Laravel、Symfony、Codeigniterなどの最新のフレームワークは、開発を簡素化し、コードの品質を向上させます。 3.パフォーマンスの最適化とベストプラクティスは、アプリケーションの効率をさらに改善します。

PHPの影響:Web開発などPHPの影響:Web開発などApr 18, 2025 am 12:10 AM

phphassiblasifly-impactedwebdevevermentandsbeyondit.1)itpowersmajorplatformslikewordpratsandexcelsindatabase interactions.2)php'sadaptableability allowsitale forlargeapplicationsusingframeworkslikelavel.3)

スカラータイプ、リターンタイプ、ユニオンタイプ、ヌル可能なタイプなど、PHPタイプのヒントはどのように機能しますか?スカラータイプ、リターンタイプ、ユニオンタイプ、ヌル可能なタイプなど、PHPタイプのヒントはどのように機能しますか?Apr 17, 2025 am 12:25 AM

PHPタイプは、コードの品質と読みやすさを向上させるためのプロンプトがあります。 1)スカラータイプのヒント:php7.0であるため、基本データ型は、int、floatなどの関数パラメーターで指定できます。 3)ユニオンタイプのプロンプト:PHP8.0であるため、関数パラメーターまたは戻り値で複数のタイプを指定することができます。 4)Nullable Typeプロンプト:null値を含めることができ、null値を返す可能性のある機能を処理できます。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

Dreamweaver Mac版

Dreamweaver Mac版

ビジュアル Web 開発ツール

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。