프로그램 인증을 맥주소 암호화 해서 하고있거든..?
그래서 GetAllNetworkInterfaces로 네트워크 인터페이스 모두 얻어온다음에
인터페이스중 0번에대해 GetPhysicalAddress로 맥주소를 얻고 암호화를 해서 키를만든 다음 서버에 등록해 인증을 해주는 방식이야
근데 자꾸 키가 바뀐다는 사람들이 있어... -ㅅ-
키가 바뀐다는건 맥주소가 바뀐다는건데......
이게 가능한일이야???
도대체 어떻게 해야 해결이 될까 미치겟네.....
도움을 좀 얻을수있으까
정확하게 뭐하는 건지 설명을 해봐. 맥어드레스는 얼마든지 바꿀 수 있어. 절대적인 인증수단으로 생각하면 안 돼. 단지 왠만해서는 안바뀐다... 그정도로 봐야지.
참고로 VMware를 복사하거나 다른 경로로 이동시켰을 경우, VMware 실행시키면 "copy했냐? move했냐?"라고 묻는거 알지? 이거 묻는 이유가 맥어드레스 등을 포함해서 유니크한 정보가 충돌해서 꼬이는 일을 방지하기 위한거야. 그러니까 copy했다고 하면 맥어드레스 변경하는거고, move했다고 하면 유지하는거. 그런식으로 쉽게 결정할 정도로 맥어드레스는 쉽게 변경돼.
맥 어드레스를 서버에 등록을하고, 프로그램을 실행할때마다 나의 맥어드레스가 서버에 있는지 확인후에
유료버전인지 무료버전인지 확인해서 기능을 차이두는 프로그램이야 ㅠ
근데 아재들이 맥주소 변경해가면서 쓰는 사람들은 아닌거같거든 대부분이 컴맹이라
네트워크 인터페이스 중 첫번째 것을 등록해서 인증에 쓰게 하는데, 인터페이스 순서가 바뀌어서 그런가?ㅠ
그리고 GetAllNetworkInterfaces 이런거 쓰면 호스트에서도 VMware에 할당된게 나올 수 있어. 그 외에도 블루투스쪽도 있을 수 있고. 그외에 가상으로 설정한 여러가지가 나올 수 있지. 그래서 그중에서 물리적 디바이스의 맥어드레스인지 판별하는 작업이 필요해. 나도 잘은 모르겠지만, 이름에서 VMware랑 Bluetooth는 걸러야겠지. 남는건 유선이랑 무선인데, 가능하면 유선쪽으로 하는게 낫겠지. 그리고 그 외에도 가상 네트워크가 있을 수 있는데, 물리적인 유선,무선도 이름이 다양해서 이름만으론 구분이 어려울거야.
일단 여러가지 케이스가 있을 수 있는데, "이더넷" 위주로 골라. 그걸 등록시켜. 없으면 와이파이-무선 이런 순으로... 그것도 없으면 아몰랑 0번 해.
왠만하면 이더넷이면 그냥 게임 끝날거다. 사실상 유선 ethernet이 없는 경우는 거의 없거든. 물론 요즘 무선전용의 IoT디바이스들이 많지만, 니가 말하는 프로그램은 딱 봐도 PC 전용이네. 그럼 거의 걱정 없지.
ㅠ.ㅠ 잘 알지도못함서 막 시작해가 정신없네
형 조언대로 해볼게요 진짜 너무 감사해요
형 만수무강할거에요
참고로 간혹 랜카드 2개 달은 인간도 있다. 이때는 구분하는게 기본적으로 무의미해. 어차피 인증용이라며. 그러면 둘다 사용하면 된다. 0번 이런거 하면 또 바뀔수 있다. 이더넷인거 목록 다 뽑고, 맥어드레스 다 합치면 이름 알필요가 별로 없지. 딱 이더넷인것만 고르면 돼. 저장해둘거면 가능한한 이름같은거 정보같은거 같이 뽑고.