PHP/MySQL 在 WordPress meta_value 中将“12345”编码为 'c11d38b47a44fcaa3035cb0342afb974'?
PHP/MySQL Encoding '12345' to 'c11d38b47a44fcaa3035cb0342afb974' in WordPress meta_value?
试图弄清楚某些 WordPress 插件如何在其元字段中生成这种类型的编码,以及我如何做相同类型的 encoding/decoding?
通过 WordPress 后端创建 post 后,我注意到在我的 wp_postmeta
table 中它创建了两个字段,一个是非编码输入,在这个例子中,只是 12345
,另一个带有 _
前缀的 meta_key 被编码为 32 个字符的字符串 c11d38b47a44fcaa3035cb0342afb974
.
有人对此有任何见解吗?这是什么类型的编码?这可以通过 PHP、MySQL 或两者进行编码吗?
将12345
这样的字符串编码成c11d38b47a44fcaa3035cb0342afb974
的方法是什么?
wp_postmeta
是键/值数据存储。在一个简单的插件中,我不知道,Movie Rating 和 Year 作为关于电影的 post 的元数据。在这种情况下,wp_postmeta
行可能包含
post_id meta_key meta_value
1 movierating PG
1 year 2004
2 movierating R
2 year 1992
post_id = 1 中描述的电影于 2004 年以 PG 评级上映。 post 2 中描述的电影于 1992 年以 R 级上映。你明白了。
一些插件作者使用合成 meta_key 值而不是文本值,大概是为了避免与其他键冲突。如果您的 32 个字符的十六进制字符串位于 meta_key
列中,那么就是这样。 (其他插件作者出于相同目的使用 myplugin_myattribute
值。有些作者根本不费心去避免冲突。)
如果十六进制字符串在 meta_value
列中,它可能意味着任何东西。 meta_key
的值是对其含义的微弱暗示。 阅读插件源代码或询问插件作者。它可能 是一个完整性散列(用于检测更改其他值的尝试)。
meta_key 中的前导下划线将其隐藏在 post 可从后端仪表板访问的编辑页面上的下拉列表、自定义字段项中。
试图弄清楚某些 WordPress 插件如何在其元字段中生成这种类型的编码,以及我如何做相同类型的 encoding/decoding?
通过 WordPress 后端创建 post 后,我注意到在我的 wp_postmeta
table 中它创建了两个字段,一个是非编码输入,在这个例子中,只是 12345
,另一个带有 _
前缀的 meta_key 被编码为 32 个字符的字符串 c11d38b47a44fcaa3035cb0342afb974
.
有人对此有任何见解吗?这是什么类型的编码?这可以通过 PHP、MySQL 或两者进行编码吗?
将12345
这样的字符串编码成c11d38b47a44fcaa3035cb0342afb974
的方法是什么?
wp_postmeta
是键/值数据存储。在一个简单的插件中,我不知道,Movie Rating 和 Year 作为关于电影的 post 的元数据。在这种情况下,wp_postmeta
行可能包含
post_id meta_key meta_value
1 movierating PG
1 year 2004
2 movierating R
2 year 1992
post_id = 1 中描述的电影于 2004 年以 PG 评级上映。 post 2 中描述的电影于 1992 年以 R 级上映。你明白了。
一些插件作者使用合成 meta_key 值而不是文本值,大概是为了避免与其他键冲突。如果您的 32 个字符的十六进制字符串位于 meta_key
列中,那么就是这样。 (其他插件作者出于相同目的使用 myplugin_myattribute
值。有些作者根本不费心去避免冲突。)
如果十六进制字符串在 meta_value
列中,它可能意味着任何东西。 meta_key
的值是对其含义的微弱暗示。 阅读插件源代码或询问插件作者。它可能 是一个完整性散列(用于检测更改其他值的尝试)。
meta_key 中的前导下划线将其隐藏在 post 可从后端仪表板访问的编辑页面上的下拉列表、自定义字段项中。