Wayback Machinekoobas.hobune.stream
May JUN Jul
Previous capture 13 Next capture
2021 2022 2023
1 capture
13 Jun 22 - 13 Jun 22
sparklines
Close Help
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
  • Asset Store
  • Get Unity

UNITY ACCOUNT

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account
  • Blog
  • Forums
  • Answers
  • Evangelists
  • User Groups
  • Beta Program
  • Advisory Panel

Navigation

  • Home
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
    • Blog
    • Forums
    • Answers
    • Evangelists
    • User Groups
    • Beta Program
    • Advisory Panel

Unity account

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account

Language

  • Chinese
  • Spanish
  • Japanese
  • Korean
  • Portuguese
  • Ask a question
  • Spaces
    • Default
    • Help Room
    • META
    • Moderators
    • Topics
    • Questions
    • Users
    • Badges
  • Home /
avatar image
2
Question by peterpi · Nov 11, 2013 at 11:34 AM · encryption

Is there something like deviceUniqueIdentifier that doesn't change?

I'd like to encrypt my PlayerPrefs entries in order to stop the values I'm storing from being visible in plain text to script-kiddie level hackers[1].

I could just store the key to a symmetrical encyption system as a constant value within my app, but I'd also like to use some value that is unique to each device (like MAC address) to generate my encryption key, in order to stop people passing save games round from person to person.

Up until a few months ago, I'd happily use SystemInfo.deviceUniqueIdentifier without a second thought. However, it would be a catasrophe if this value changed for a particular device, as happened recently with updates to iOS7. The device would no longer be able to decrypt the bona fide save games for genuine users.

Using SystemInfo.DeviceMode, DeviceName and DeviceType would be good enough for my needs (they're not unique, but it would fragment the audience sufficiently), so long as those values will never change for the lifetime of any one device.

My question is: Is there another value that is guaranteed to be consistent for the lifetime of a physical device, to which I have easy access within Unity?

This is mainly for Apple devices, but bonus points for anything generic.

Peter Pimley

[1] Yes, I do realise that theoretically, with the app and the data on the user's device, any such effort is a matter of diminishing returns in terms of security. But I'd like to implement something better-than-nothing, which is where I currently am.

Comment
Add comment
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

1 Reply

· Add your reply
  • Sort: 
avatar image
0
Best Answer

Answer by Dapperapps · Jul 19, 2014 at 08:40 PM

I think you would probably be better off writing a plugin for each platform you will support that talks to your unity game and relays this unique ID. Along these lines, specific to the iPhone I would use the phone's MAC Address, which should be unique per device unless overwritten. Good luck!

Comment
Add comment · Share
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

Your answer

Hint: You can notify a user about this post by typing @username

Up to 2 attachments (including images) can be used with a maximum of 524.3 kB each and 1.0 MB total.

Follow this Question

Answers Answers and Comments

17 People are following this question.

avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image

Related Questions

making a c# file unreadable 4 Answers

Data encryption to transfer data over web 1 Answer

How to properly handle encryption for files? 0 Answers

PlayerPrefs: Credebility, Advantages/Disadvantages 1 Answer

Could not read from encrypted package file. [Trying to use asset store] 0 Answers


Enterprise
Social Q&A

Social
Subscribe on YouTube social-youtube Follow on LinkedIn social-linkedin Follow on Twitter social-twitter Follow on Facebook social-facebook Follow on Instagram social-instagram

Footer

  • Purchase
    • Products
    • Subscription
    • Asset Store
    • Unity Gear
    • Resellers
  • Education
    • Students
    • Educators
    • Certification
    • Learn
    • Center of Excellence
  • Download
    • Unity
    • Beta Program
  • Unity Labs
    • Labs
    • Publications
  • Resources
    • Learn platform
    • Community
    • Documentation
    • Unity QA
    • FAQ
    • Services Status
    • Connect
  • About Unity
    • About Us
    • Blog
    • Events
    • Careers
    • Contact
    • Press
    • Partners
    • Affiliates
    • Security
Copyright © 2020 Unity Technologies
  • Legal
  • Privacy Policy
  • Cookies
  • Do Not Sell My Personal Information
  • Cookies Settings
"Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.
  • Anonymous
  • Sign in
  • Create
  • Ask a question
  • Spaces
  • Default
  • Help Room
  • META
  • Moderators
  • Explore
  • Topics
  • Questions
  • Users
  • Badges