GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — Smartcam update_credentials by Puxtril · Pull Request #1661 · python-kasa/python-kasa

Conversation

@Puxtril

@Puxtril Puxtril commented Feb 24, 2026

Copy link
Copy Markdown
Contributor

Newer Tapo cameras use changeAdminPassword to update admin credentials on the device. Tested on my C206.

As a note: it seems these devices limit functionality until the admin password is updated. I've noted on my C206 the Tapo camera stream would not load when provided default credentials, and my H200 hub would not find devices. The hub would respond successfully to API calls to start/stop scanning, but would not return any found devices. Only after updating credentials would it actually return found devices.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
Puxtril added 2 commits February 23, 2026 22:35
@Puxtril
Add update_credentials for smartcam
6527cc0
@Puxtril
Move publickey encryption to method
6d04a03
github-advanced-security[bot]
github-advanced-security AI found potential problems Feb 24, 2026
View reviewed changes
Comment thread kasa/smartcam/smartcamdevice.py

async def update_credentials(self, username: str, password: str) -> dict:
cur_pass = self.credentials.password if self.credentials.password else self.protocol._transport._default_credentials.password
cur_pass_hash = hashlib.sha256(cur_pass.encode()).hexdigest().upper()

Check failure

Code scanning / CodeQL

Use of a broken or weak cryptographic hashing algorithm on sensitive data High

Sensitive data (password)
Error loading related location
Loading

Uh oh!

There was an error while loading. Please reload this page.

is used in a hashing algorithm (SHA256) that is insecure for password hashing, since it is not a computationally expensive hash function.
Sensitive data (password)
Error loading related location
Loading

Uh oh!

There was an error while loading. Please reload this page.

is used in a hashing algorithm (SHA256) that is insecure for password hashing, since it is not a computationally expensive hash function.
Comment thread kasa/smartcam/smartcamdevice.py
async def update_credentials(self, username: str, password: str) -> dict:
cur_pass = self.credentials.password if self.credentials.password else self.protocol._transport._default_credentials.password
cur_pass_hash = hashlib.sha256(cur_pass.encode()).hexdigest().upper()
new_pass_hash = hashlib.sha256(password.encode()).hexdigest().upper()

Check failure

Code scanning / CodeQL

Use of a broken or weak cryptographic hashing algorithm on sensitive data High

Sensitive data (password)
Error loading related location
Loading

Uh oh!

There was an error while loading. Please reload this page.

is used in a hashing algorithm (SHA256) that is insecure for password hashing, since it is not a computationally expensive hash function.
@Puxtril Puxtril mentioned this pull request Feb 24, 2026
Out of box Tapo TC40: discovery not working, authentication failure on wifi setup #1628
Closed
@ZeliardM ZeliardM mentioned this pull request Mar 1, 2026
Update smartcam credential handling and tests #1664
Merged
@Puxtril

Puxtril commented Mar 1, 2026

Copy link
Copy Markdown
Contributor Author

Superseded by #1664

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@Puxtril Puxtril closed this Mar 1, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

No reviews

Uh oh!

There was an error while loading. Please reload this page.

Assignees

No one assigned

Labels

None yet

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

Uh oh!

There was an error while loading. Please reload this page.

2 participants

@Puxtril @github-advanced-security
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.