标签: serial-number

如何查找Android设备的序列号?

我需要为Android应用程序使用唯一的ID,我认为该设备的序列号将是一个很好的候选人.如何在我的应用中检索Android设备的序列号?

android serial-number

114
推荐指数
9
解决办法
23万
查看次数

Android唯一序列号

我正在开发一个针对Android 4.0(API 14)及更高版本的Android应用程序.

我正在寻找一个每个设备唯一的序列号,并且这个序列号永远存在(与设备一起死亡,在出厂重置后不会改变).

我在网上发现了很多关于Android设备的唯一标识符的结果,但在android.os.Build.SERIAL数字上却很少.

到目前为止,我已经消除了ANDROID_ID的使用,因为它可能会在出厂重置后发生变化.我也消除了IMEI的使用,因为Android设备可能是非手机的.我无法使用wifi或蓝牙MAC ADDRESS,因为如果未启用硬件(基于我在网络上找到的内容),设备可能没有这样的硬件和/或这样的mac地址可能无法读取.

我相信我可能会去Android设备序列号.

可以使用android.os.Build.SERIAL轻松访问它(因为它是在API级别9中添加的,不需要任何其他权限).

我的问题是:

  • 考虑到我的应用程序针对Android 4.0(API 14)及更高版本,是每个设备唯一的android设备的android.os.Build.SERIAL号码吗?

  • 目前,android.os.Build.SERIAL的文档指示:硬件序列号(如果可用).仅限字母数字,不区分大小写. 这是否意味着序列号可能不可用?

  • 什么是满足上述条件的另一种替代方案?

android serial-number uniqueidentifier

52
推荐指数
3
解决办法
5万
查看次数

43
推荐指数
3
解决办法
8万
查看次数

出于好奇:如何生成序列号?提示,算法?

我想知道序列号生成器和验证器如何工作.我的目标是生成一个序列号,其中包含五个部分,仅包括数字和字母.

我喜欢编码作为一种爱好,不会称自己为专业程序员.但是,我对这些有趣的功能如何在技术上工作以扩展我的想法非常感兴趣.

任何提示,经验或书面算法都表示赞赏.

algorithm validation generator serial-number

42
推荐指数
4
解决办法
3万
查看次数

如何使用Python获取硬盘序列号

我怎样才能得到serial number一个的hard disk使用驱动器PythonLinux

我想使用Python模块来执行此操作,而不是运行外部程序,如hdparm.也许使用fcntl模块?

python linux serial-number fcntl hard-drive

32
推荐指数
1
解决办法
2万
查看次数

NFC标签上的序列 - 真正独特吗?可复制?

NFC标签是否真的相互独特,至少在他们的序列号中是这样?我们可以依赖这样一个事实:没有2个NFC标签可以拥有相同的序列号吗?我对此持高度怀疑态度,因为那里有(并且会有更多)NFC标签,我认为没有人控制连续剧......

我问的原因是我正在开发一个使用NFC标签的基于密钥的系统.我不需要写标签,我基本上只需要他们的序列号.但我需要它们才能真正独一无二.

此外,我想知道是否可以克隆序列号(我知道标签的内容总是可以读取和克隆,但是可以编程另一个标签以具有完全相同的ID /序列吗?)

clone rfid serial-number uniqueidentifier nfc

32
推荐指数
1
解决办法
2万
查看次数

如何在Android 7.0+中检索SD卡的序列号?

在某些版本的Android和Linux的其他版本中,可以获取已安装SD卡的序列号,例如通过读取/sys/class/mmc_host/mmc0/mmc0:0001/serial或的内容/sys/block/mmcblk0/device/serial(特定数字可能会有所不同).在我的测试中,只要将SD卡插入内置SD卡插槽(不通过USB适配器安装),这就非常可靠.

但是从Android 7.0 Nougat开始,据说操作系统阻止访问这些信息,至少在某些设备上是这样.我通过在新的阿尔卡特A30 GSM(Android 7.0)上运行测试应用程序对此进行了测试,实际上上述方法失败并出现权限错误:

java.io.FileNotFoundException: /sys/block/mmcblk0/device/serial (Permission denied)
at java.io.FileInputStream.open(Native Method)
Run Code Online (Sandbox Code Playgroud)

为了将来参考,我们(从adb shell测试)具有ls -ld以下权限:

  • /sys/class/mmc_host 但不是 /sys/class/mmc_host/mmc0
  • /sys/block 但不是 /sys/block/mmcblk0

由于上述方法不再有效,

  • 有没有其他方法可以获得Android 7.0或更高版本中安装的SD卡的序列号?

  • 如果不这样做,谷歌是否有关于提供或不提供此功能的计划的任何文件或其他声明?我没有在Android 问题跟踪器中找到任何内容,但也许我没有找到正确的搜索引擎.

为了确保问题清楚,我正在谈论在非根设备上运行的普通(非系统)应用程序可以做什么,以及应用程序通常可以请求和接收的任何权限.

仅供参考,该/sbin目录似乎不可读,因此命令/sbin/udevadm不是一个选项.

android serial-number sd-card

23
推荐指数
2
解决办法
3406
查看次数

序列号是X509证书的唯一密钥吗?

证书序列号是X509证书的唯一密钥吗?用户选择证书,程序将序列号存储在首选项中.以下代码是否会返回所选证书?

public static X509Certificate2 GetCertificateBySerialNumber(string serialNumber)
{
    X509Certificate2 selectedCertificate = null;
    X509Store store = null;
    try
    {
        // get certificate from the store "My", "CurrentUser"
        store = new X509Store(StoreName.My, StoreLocation.CurrentUser);
        store.Open(OpenFlags.ReadOnly | OpenFlags.OpenExistingOnly);
        X509Certificate2Collection allCertificates = (X509Certificate2Collection)store.Certificates;
        X509Certificate2Collection foundCertificates = (X509Certificate2Collection)allCertificates.Find(X509FindType.FindBySerialNumber, serialNumber, false);

        // select the first certificate in collection
        foreach (X509Certificate2 certificate in foundCertificates)
        {
            selectedCertificate = certificate;
            break;
        }
    }
    finally
    {
        if (store != null)
        {
            store.Close();
        }
    }

    return selectedCertificate;
}
Run Code Online (Sandbox Code Playgroud)

更新:我最终使用证书指纹,如jglouie所建议的那样.

c# serial-number x509certificate

19
推荐指数
4
解决办法
2万
查看次数

获取Android设备的硬件序列号

我需要获取安装了我的应用程序的Android设备的硬件序列代码.您可以看到此硬件序列号Settings > About Device > Status > Serial number.

我虽然可以使用它Settings.Secure.ANDROID_ID or android.os.Build.SERIAL,但它们都没有用,这意味着它们没有给我我想要的唯一标识符.例如android.os.Build.SERIAL,当您运行命令adb devices时,获取ADB上显示的唯一ID .

请注意,这个问题的目标不是找到可以帮助我的另一个唯一标识符,而只是获取设备硬件序列号.

谢谢您的帮助.

编辑:

请注意,我不是在寻找字符串android.os.BUILD.SERIAL提供的值.我知道如何获得这个价值,但我对此并不感兴趣.

我有三星设备,因此,他们使用的序列号与android.os.BUILD.SERIAL提供的序列号不同.

settings android serial-number uniqueidentifier

17
推荐指数
1
解决办法
1万
查看次数

CPU序列号

如何在PC中获取CPU的序列号?

x86 serial-number license-key

14
推荐指数
5
解决办法
5万
查看次数